%!PS-Adobe-3.0
%%Creator: Executor
%%DocumentFonts: (atend)
%%Pages: (atend)
%%BoundingBox: (atend)
%%DocumentPaperSizes: Letter
%%Orientation: Portrait
%%EndComments
%%BeginProlog

/MacEncoding StandardEncoding 256 array copy def

128
[
    /Adieresis		/Aring		/Ccedilla	/Eacute
    /Ntilde		/Odieresis	/Udieresis	/aacute
    /agrave		/acircumflex	/adieresis	/atilde
    /aring		/ccedilla	/eacute		/egrave
    /ecircumflex	/edieresis	/iacute		/igrave
    /icircumflex	/idieresis	/ntilde		/oacute
    /ograve		/ocircumflex	/odieresis	/otilde
    /uacute		/ugrave		/ucircumflex	/udieresis
    /dagger		/degree		/cent		/sterling
    /section		/bullet		/paragraph	/germandbls
    /registered		/copyright	/trademark	/acute
    /dieresis		/notequal	/AE		/Oslash
    /infinity		/plusminus	/lessequal	/greaterequal
    /yen		/mu		/partialdiff	/summation
    /product		/pi		/integral	/ordfeminine
    /ordmasculine	/Omega		/ae		/oslash
    /questiondown	/exclamdown	/logicalnot	/radical
    /florin		/approxequal	/Delta		/guillemotleft
    /guillemotright	/ellipsis	/space		/Agrave
    /Atilde		/Otilde		/OE		/oe
    /endash		/emdash		/quotedblleft	/quotedblright
    /quoteleft		/quoteright	/divide		/lozenge
    /ydieresis		/Ydieresis	/fraction	/currency
    /guilsinglleft	/guilsinglright	/fi		/fl
    /daggerdbl		/periodcentered	/quotesinglbase	/quotedblbase
    /perthousand	/Acircumflex	/Ecircumflex	/Aacute
    /Edieresis		/Egrave		/Iacute		/Icircumflex
    /Idieresis		/Igrave		/Oacute		/Ocircumflex
    /apple		/Ograve		/Uacute		/Ucircumflex
    /Ugrave		/dotlessi	/circumflex	/tilde
    /macron		/breve		/dotaccent	/ring
    /cedilla		/hungarumlaut	/oganek		/caron
]
    { MacEncoding 2 index 2 index put pop 1 add }
forall
pop

/MacEncoding MacEncoding readonly def

/_MACfstr 128 string dup 0 (_MAC) putinterval def   

/findfont
{
    /currentshared where
        {pop currentshared}
	{false}
    ifelse
	{//findfont exec}
	{
	    dup _MACfstr 4 124 getinterval cvs length 4 add _MACfstr 0 3 -1 roll
	    getinterval cvn exch FontDirectory 2 index known 
		{pop FontDirectory exch get}
		{
		    //findfont exec dup /Encoding get
			dup
			StandardEncoding eq
			exch
			/NextStepEncoding where
			    { /NextStepEncoding get eq }
			    { pop false }
			ifelse
			or
			{
			    dup length dict exch
			    {
				1 index /FID ne
				    {2 index 3 1 roll put}
				    {pop pop}
				ifelse
			    } forall
			    dup /Encoding MacEncoding put definefont
			}
			{exch pop}
		    ifelse
		}
	    ifelse
	}
    ifelse
} bind def

/selectfont {
    exch findfont
    exch dup type /arraytype eq
        {makefont}
	{scalefont}
    ifelse
    setfont
} bind def

% Dilemma: If we don't undef NextStepEncoding then NeXT generated EPS
%          files will not have the correct encoding vector when printed
%          under Executor.  BUT if we undef NextStepEncoding then we
%          can't use their implementation of findfont.  Foo.
% /languagelevel where
% {
%     pop
%     languagelevel 2 ge
%     {
%         currentdict /NextStepEncoding undef
%     } if
% } if
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
%%EndProlog
%%BeginSetup
%%PaperSize: Letter
%%EndSetup
%%Page: 1 1
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
306.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
517.000000 753.000000 moveto
(1)
dup
stringwidth
pop
5
exch
sub
1
div
exch
0
exch
ashow
258.000000 87.000000 moveto
(Palatino-Roman)
[
18.000000
0.000000
0.000000
-18.000000
0.000000
0.000000
]
selectfont
(Executor Internals:)
dup
stringwidth
pop
150
exch
sub
1
div
exch
0
exch
32
exch
widthshow
150.000000 107.000000 moveto
(How to Efficiently Run Mac Programs on PCs)
dup
stringwidth
pop
365
exch
sub
7
div
exch
0
exch
32
exch
widthshow
228.000000 142.000000 moveto
(Palatino-Roman)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Mathew J. Hostetter )
dup
stringwidth
pop
110
exch
sub
3
div
exch
0
exch
32
exch
widthshow
(Courier)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(<mat@ardi.com>)
dup
stringwidth
pop
101
exch
sub
14
div
exch
0
exch
ashow
225.000000 156.000000 moveto
(Palatino-Roman)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Clifford T. Matthews )
dup
stringwidth
pop
115
exch
sub
3
div
exch
0
exch
32
exch
widthshow
(Courier)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(<ctm@ardi.com>)
dup
stringwidth
pop
101
exch
sub
14
div
exch
0
exch
ashow
175.000000 168.000000 moveto
(Palatino-Roman)
[
9.000000
0.000000
0.000000
-9.000000
0.000000
0.000000
]
selectfont
(After MacHack '96, this paper will be available from)
dup
stringwidth
pop
207
exch
sub
8
div
exch
0
exch
32
exch
widthshow
(Courier)
[
9.000000
0.000000
0.000000
-9.000000
0.000000
0.000000
]
selectfont
( http://www.ardi.com)
dup
stringwidth
pop
108
exch
sub
1
div
exch
0
exch
32
exch
widthshow
90.000000 193.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor is a commercial Macintosh emulator that uses no software from Apple, but is still able to run much)
dup
stringwidth
pop
479
exch
sub
18
div
exch
0
exch
32
exch
widthshow
90.000000 205.000000 moveto
(680x0 based Macintosh software faster on Pentiums than the same software runs on 680x0 based Macs.  This)
dup
stringwidth
pop
478
exch
sub
17
div
exch
0
exch
32
exch
widthshow
90.000000 217.000000 moveto
(paper contains some implementation details, including descriptions of Executor's synthetic CPU, graphics)
dup
stringwidth
pop
469
exch
sub
11
div
exch
0
exch
32
exch
widthshow
90.000000 229.000000 moveto
(subsystem and debugging environment.  Portability issues, current limitations and future plans are also)
dup
stringwidth
pop
459
exch
sub
13
div
exch
0
exch
32
exch
widthshow
90.000000 241.000000 moveto
(presented.)
dup
stringwidth
pop
47
exch
sub
10
div
exch
0
exch
ashow
90.000000 266.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Executor Overview)
dup
stringwidth
pop
109
exch
sub
1
div
exch
0
exch
32
exch
widthshow
gsave
newpath
90.000000
266.000000
12.000000
(Helvetica-Bold)
findfont
dup
(FontInfo)
known {
dup
(FontMatrix)
get
3
get
2 index
mul
1 index
(FontInfo)
get
dup
(UnderlineThickness)
get
2 index
mul
setlinewidth
(UnderlinePosition)
get
mul
3 1 roll
pop
pop
sub
}
{
pop
pop
}
ifelse
moveto
109.000000 0.000000 rlineto
stroke
grestore
90.000000 285.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(What Executor is)
dup
stringwidth
pop
98
exch
sub
2
div
exch
0
exch
32
exch
widthshow
90.000000 297.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor is a commercial emulator that allows PCs)
dup
stringwidth
pop
225
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 309.000000 moveto
(to run many Macintosh applications.  Executor)
dup
stringwidth
pop
207
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 321.000000 moveto
(does not require Macintosh ROMs or a Macintosh)
dup
stringwidth
pop
221
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 333.000000 moveto
(System file and contains no Appple code itself.)
dup
stringwidth
pop
207
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 345.000000 moveto
(Executor was written entiredly by engineers)
dup
stringwidth
pop
196
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 357.000000 moveto
(without Macintosh backgrounds who have not)
dup
stringwidth
pop
208
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 369.000000 moveto
(disassembled any of Apple's ROMs or System file.)
dup
stringwidth
pop
223
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 388.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Limitations)
dup
stringwidth
pop
64
exch
sub
11
div
exch
0
exch
ashow
90.000000 400.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Because Executor was written strictly from)
dup
stringwidth
pop
190
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 412.000000 moveto
(publicly available documentation \(Inside)
dup
stringwidth
pop
182
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 424.000000 moveto
(Macintosh, Tech. Notes, etc.\), programs which)
dup
stringwidth
pop
205
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 436.000000 moveto
(make use of undocumented features of MacOS)
dup
stringwidth
pop
207
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 448.000000 moveto
(may fail under Executor.  Furthermore,  there are)
dup
stringwidth
pop
218
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 460.000000 moveto
(some portions of MacOS that we haven't)
dup
stringwidth
pop
180
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 472.000000 moveto
(implemented yet.  Executor is sufficiently large)
dup
stringwidth
pop
209
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 484.000000 moveto
(that there are probably bugs in some of our code)
dup
stringwidth
pop
215
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 496.000000 moveto
(as well.  We realize these are major limitations, but)
dup
stringwidth
pop
225
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 508.000000 moveto
(this paper is primarily concerned with)
dup
stringwidth
pop
170
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 520.000000 moveto
(implementation details that are interesting to our)
dup
stringwidth
pop
218
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 532.000000 moveto
(fellow programmers as opposed to feature sets)
dup
stringwidth
pop
207
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 544.000000 moveto
(and limitations which are of more concern to end)
dup
stringwidth
pop
218
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 556.000000 moveto
(users and our marketing department.)
dup
stringwidth
pop
166
exch
sub
4
div
exch
0
exch
32
exch
widthshow
90.000000 581.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Design Goals)
dup
stringwidth
pop
77
exch
sub
1
div
exch
0
exch
32
exch
widthshow
gsave
newpath
90.000000
581.000000
12.000000
(Helvetica-Bold)
findfont
dup
(FontInfo)
known {
dup
(FontMatrix)
get
3
get
2 index
mul
1 index
(FontInfo)
get
dup
(UnderlineThickness)
get
2 index
mul
setlinewidth
(UnderlinePosition)
get
mul
3 1 roll
pop
pop
sub
}
{
pop
pop
}
ifelse
moveto
77.000000 0.000000 rlineto
stroke
grestore
90.000000 593.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Our goal is for Executor to be accurate, fast and)
dup
stringwidth
pop
210
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 605.000000 moveto
(portable.  Beyond that, completeness is a)
dup
stringwidth
pop
180
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 617.000000 moveto
(secondary issue.)
dup
stringwidth
pop
73
exch
sub
1
div
exch
0
exch
32
exch
widthshow
90.000000 641.000000 moveto
(Accuracy means that each subsystem that we)
dup
stringwidth
pop
200
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 653.000000 moveto
(implement should behave exactly according to the)
dup
stringwidth
pop
223
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 665.000000 moveto
(functional specs for the subsystem that we've)
dup
stringwidth
pop
200
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 677.000000 moveto
(derived from a combination of reading)
dup
stringwidth
pop
172
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 689.000000 moveto
(documentation, writing test cases and running)
dup
stringwidth
pop
206
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 701.000000 moveto
(programs under Executor.)
dup
stringwidth
pop
117
exch
sub
2
div
exch
0
exch
32
exch
widthshow
351.000000 253.000000 moveto
(Fast is harder to qualify.  As programmers we like)
dup
stringwidth
pop
222
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 265.000000 moveto
(to use advanced techniques that will result in)
dup
stringwidth
pop
201
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 277.000000 moveto
(programs running under Executor as quickly as)
dup
stringwidth
pop
212
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 289.000000 moveto
(possible.  Unfortunately, we have a limited)
dup
stringwidth
pop
191
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 301.000000 moveto
(number of engineer hours in a week and most)
dup
stringwidth
pop
204
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 313.000000 moveto
(engineering time is spent implementing new)
dup
stringwidth
pop
198
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 325.000000 moveto
(subsystems or finding and fixing subtle)
dup
stringwidth
pop
175
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 337.000000 moveto
(incompatibilities.  We're proud of the speed that)
dup
stringwidth
pop
214
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 349.000000 moveto
(we've obtained so far, but we know that we can do)
dup
stringwidth
pop
225
exch
sub
10
div
exch
0
exch
32
exch
widthshow
351.000000 361.000000 moveto
(better in the future.)
dup
stringwidth
pop
86
exch
sub
3
div
exch
0
exch
32
exch
widthshow
351.000000 385.000000 moveto
(Portability is the ability to support multiple)
dup
stringwidth
pop
193
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 397.000000 moveto
(platforms from the same source base.  A platform)
dup
stringwidth
pop
219
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 409.000000 moveto
(is a combination of CPU, operating system and)
dup
stringwidth
pop
208
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 421.000000 moveto
(graphics device or windowing system.  Executor)
dup
stringwidth
pop
215
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 433.000000 moveto
(currently supports Intel 80[3456]86 and compatible)
dup
stringwidth
pop
226
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 445.000000 moveto
(CPUs, Motorola m680[34]0 CPUs, the operating)
dup
stringwidth
pop
211
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 457.000000 moveto
(systems DOS, Linux and NEXTSTEP and can)
dup
stringwidth
pop
200
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 469.000000 moveto
(interact with VGA, SVGA,  Display PostScript and)
dup
stringwidth
pop
223
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 481.000000 moveto
(X-Windows.  To get the best performance on some)
dup
stringwidth
pop
224
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 493.000000 moveto
(architectures we do use architecture specific code,)
dup
stringwidth
pop
221
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 505.000000 moveto
(but  we also write portable versions to be used)
dup
stringwidth
pop
206
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 517.000000 moveto
(where the platform specific versions can't be.)
dup
stringwidth
pop
199
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 529.000000 moveto
(Although not supported as a product, Executor)
dup
stringwidth
pop
210
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 541.000000 moveto
(was ported to DEC's Alpha, but since ARDI has no)
dup
stringwidth
pop
225
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 553.000000 moveto
(Alpha and DEC lost interest, the Alpha port is no)
dup
stringwidth
pop
218
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 565.000000 moveto
(longer current.  Although not recently, ROMlib,)
dup
stringwidth
pop
212
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 577.000000 moveto
(ARDI's rewrite of the MacOS OS and Toolbox)
dup
stringwidth
pop
203
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 589.000000 moveto
(routines, has been ported to a wide variety of)
dup
stringwidth
pop
201
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 601.000000 moveto
(platforms, including MIPS , m88k , Clipper, IBM)
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 613.000000 moveto
(RT, SPARC and even VAX based systems.)
dup
stringwidth
pop
187
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 637.000000 moveto
(Those three design goals have led us in the)
dup
stringwidth
pop
190
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 649.000000 moveto
(direction of dynamic code generation for both the)
dup
stringwidth
pop
220
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 661.000000 moveto
(680x0 emulation and for our blitter.  In both cases)
dup
stringwidth
pop
219
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 673.000000 moveto
(we use high level descriptions of what we want)
dup
stringwidth
pop
211
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 685.000000 moveto
(accomplished and then use special purpose tools)
dup
stringwidth
pop
216
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 697.000000 moveto
(at compile time to translate these high level)
dup
stringwidth
pop
192
exch
sub
7
div
exch
0
exch
32
exch
widthshow
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 2 2
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
252.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
463.000000 753.000000 moveto
(2)
dup
stringwidth
pop
5
exch
sub
1
div
exch
0
exch
ashow
36.000000 81.000000 moveto
(descriptions into constructs that we can then use at)
dup
stringwidth
pop
226
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 93.000000 moveto
(run time.)
dup
stringwidth
pop
41
exch
sub
1
div
exch
0
exch
32
exch
widthshow
36.000000 117.000000 moveto
(High level descriptions are less error prone,)
dup
stringwidth
pop
194
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 129.000000 moveto
(allowing us to document the semantics that we)
dup
stringwidth
pop
208
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 141.000000 moveto
(wish to see in our synthetic CPU or blitter using a)
dup
stringwidth
pop
220
exch
sub
10
div
exch
0
exch
32
exch
widthshow
36.000000 153.000000 moveto
(special purpose language that is directly suited to)
dup
stringwidth
pop
220
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 165.000000 moveto
(the task at hand, rather than a general purpose)
dup
stringwidth
pop
207
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 177.000000 moveto
(language like C or the traditional language of)
dup
stringwidth
pop
201
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 189.000000 moveto
(speed freaks -- assembler.)
dup
stringwidth
pop
114
exch
sub
3
div
exch
0
exch
32
exch
widthshow
36.000000 213.000000 moveto
(High level descriptions also lend themselves to)
dup
stringwidth
pop
209
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 225.000000 moveto
(portability.  We have our tools generate portable)
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 237.000000 moveto
(constructs for the general case and, with a little)
dup
stringwidth
pop
208
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 249.000000 moveto
(more programming effort, faster architecture)
dup
stringwidth
pop
199
exch
sub
4
div
exch
0
exch
32
exch
widthshow
36.000000 261.000000 moveto
(specific constructs for the architectures that we)
dup
stringwidth
pop
208
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 273.000000 moveto
(consider most important.)
dup
stringwidth
pop
112
exch
sub
2
div
exch
0
exch
32
exch
widthshow
36.000000 297.000000 moveto
(Since the conversion from high level description to)
dup
stringwidth
pop
225
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 309.000000 moveto
(useful construct takes place at compile time, there)
dup
stringwidth
pop
221
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 321.000000 moveto
(is no need to worry about the CPU cycles spent)
dup
stringwidth
pop
209
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 333.000000 moveto
(doing the mapping.  This allows us to design our)
dup
stringwidth
pop
217
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 345.000000 moveto
(code by thinking:  "At )
dup
stringwidth
pop
100
exch
sub
5
div
exch
0
exch
32
exch
widthshow
(Palatino-Italic)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(runtime)
dup
stringwidth
pop
33
exch
sub
7
div
exch
0
exch
ashow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(, what would be the)
dup
stringwidth
pop
88
exch
sub
4
div
exch
0
exch
32
exch
widthshow
36.000000 357.000000 moveto
(optimal instruction sequence to perform a specific)
dup
stringwidth
pop
222
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 369.000000 moveto
(task?"  Once we know the answer to that question)
dup
stringwidth
pop
221
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 381.000000 moveto
(we can ask:  "How can we represent at a high)
dup
stringwidth
pop
200
exch
sub
10
div
exch
0
exch
32
exch
widthshow
36.000000 393.000000 moveto
(level, the task is being accomplished by that)
dup
stringwidth
pop
195
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 405.000000 moveto
(optimal set of instructions?".  Then, the final)
dup
stringwidth
pop
195
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 417.000000 moveto
(question is "Given what we want to generate and)
dup
stringwidth
pop
218
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 429.000000 moveto
(how we want to represent it, what does the)
dup
stringwidth
pop
192
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 441.000000 moveto
(compile time mapping look like?".   The entire)
dup
stringwidth
pop
204
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 453.000000 moveto
(time we're pondering those three questions, we're)
dup
stringwidth
pop
221
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 465.000000 moveto
(keeping accuracy, portability and efficiency in)
dup
stringwidth
pop
204
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 477.000000 moveto
(mind.)
dup
stringwidth
pop
27
exch
sub
5
div
exch
0
exch
ashow
36.000000 502.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Executor Subsystems)
dup
stringwidth
pop
126
exch
sub
1
div
exch
0
exch
32
exch
widthshow
gsave
newpath
36.000000
502.000000
12.000000
(Helvetica-Bold)
findfont
dup
(FontInfo)
known {
dup
(FontMatrix)
get
3
get
2 index
mul
1 index
(FontInfo)
get
dup
(UnderlineThickness)
get
2 index
mul
setlinewidth
(UnderlinePosition)
get
mul
3 1 roll
pop
pop
sub
}
{
pop
pop
}
ifelse
moveto
126.000000 0.000000 rlineto
stroke
grestore
36.000000 521.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Synthetic CPU)
dup
stringwidth
pop
83
exch
sub
1
div
exch
0
exch
32
exch
widthshow
54.000000 540.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Overview)
dup
stringwidth
pop
54
exch
sub
8
div
exch
0
exch
ashow
36.000000 553.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Syn68k is the name of the synthetic CPU that)
dup
stringwidth
pop
199
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 565.000000 moveto
(Executor 2 uses.  Syn68k is both highly portable)
dup
stringwidth
pop
211
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 577.000000 moveto
(and fast.  The portable core of Syn68k, which)
dup
stringwidth
pop
199
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 81.000000 moveto
(works by dynamically compiling 680x0 code into)
dup
stringwidth
pop
217
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 93.000000 moveto
(an efficient interpreted form, was designed to run)
dup
stringwidth
pop
220
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 105.000000 moveto
(on all major CPU's.  On supported architectures,)
dup
stringwidth
pop
214
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 117.000000 moveto
(Syn68k can also translate 680x0 code into native)
dup
stringwidth
pop
212
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 129.000000 moveto
(code that the host processor can run directly.)
dup
stringwidth
pop
199
exch
sub
7
div
exch
0
exch
32
exch
widthshow
315.000000 148.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Syngen)
dup
stringwidth
pop
42
exch
sub
6
div
exch
0
exch
ashow
297.000000 161.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Syngen analyzes a lisp-like file describing the bit)
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 173.000000 moveto
(patterns and semantics of the 680x0 instruction set)
dup
stringwidth
pop
223
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 185.000000 moveto
(and produces lookup tables and C code for the)
dup
stringwidth
pop
207
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 197.000000 moveto
(runtime system to use.  The code and tables)
dup
stringwidth
pop
193
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 209.000000 moveto
(generated by syngen depend somewhat on the)
dup
stringwidth
pop
207
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 221.000000 moveto
(characteristics of the host processor; for example,)
dup
stringwidth
pop
217
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 233.000000 moveto
(on a little endian machine it is advantageous to)
dup
stringwidth
pop
209
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 245.000000 moveto
(byte swap some extracted 680x0 operands at)
dup
stringwidth
pop
197
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 257.000000 moveto
(translation time instead of at runtime.)
dup
stringwidth
pop
168
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 281.000000 moveto
(The 680x0 description file can describe multiple)
dup
stringwidth
pop
211
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 293.000000 moveto
(ways to emulate any particular 680x0 opcode.  The)
dup
stringwidth
pop
224
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 305.000000 moveto
(runtime system looks at what CC bits are live after)
dup
stringwidth
pop
224
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 317.000000 moveto
(the instruction and chooses the fastest variant it)
dup
stringwidth
pop
211
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 329.000000 moveto
(can legally use.  In Figure 1, we have two CC)
dup
stringwidth
pop
199
exch
sub
10
div
exch
0
exch
32
exch
widthshow
297.000000 341.000000 moveto
(variants of lsrw; one computes no CC bits, and the)
dup
stringwidth
pop
223
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 353.000000 moveto
(other computes all of them.)
dup
stringwidth
pop
122
exch
sub
4
div
exch
0
exch
32
exch
widthshow
297.000000 377.000000 moveto
(The 680x0 description file can also specify which)
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 389.000000 moveto
(680x0 operands should be "expanded" to become)
dup
stringwidth
pop
217
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 401.000000 moveto
(implicitly known by the corresponding synthetic)
dup
stringwidth
pop
216
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 413.000000 moveto
(opcode.  For example, fully expanding out "addl)
dup
stringwidth
pop
214
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 425.000000 moveto
(dx,dy" would result in 64 synthetic opcodes, one)
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 437.000000 moveto
(for each combination of data register operands.)
dup
stringwidth
pop
209
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 449.000000 moveto
(This results in smaller and faster synthetic opcodes)
dup
stringwidth
pop
226
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 461.000000 moveto
(at the expense of increasing the total number of)
dup
stringwidth
pop
210
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 473.000000 moveto
(synthetic opcodes.  To conserve space, we only)
dup
stringwidth
pop
208
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 485.000000 moveto
("expand out " common 680x0 opcodes. On host)
dup
stringwidth
pop
208
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 497.000000 moveto
(architectures where we can compile to native code,)
dup
stringwidth
pop
226
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 509.000000 moveto
(we don't waste space by "expanding out" common)
dup
stringwidth
pop
223
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 521.000000 moveto
(synthetic opcodes.)
dup
stringwidth
pop
82
exch
sub
1
div
exch
0
exch
32
exch
widthshow
315.000000 540.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Interpreted Code)
dup
stringwidth
pop
94
exch
sub
1
div
exch
0
exch
32
exch
widthshow
297.000000 553.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Our interpreted code consists of contiguous)
dup
stringwidth
pop
194
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 565.000000 moveto
(sequences of "synthetic opcodes" and their)
dup
stringwidth
pop
188
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 577.000000 moveto
(operands.  Syngen can generate ANSI C, but when)
dup
stringwidth
pop
224
exch
sub
8
div
exch
0
exch
32
exch
widthshow
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 606 def/wp$left 34 def/wp$right 524 def/wp$bottom 617 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
36.000000 615.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(\(defopcode lsrw_ea)
dup
stringwidth
pop
108
exch
sub
1
div
exch
0
exch
32
exch
widthshow
33.000000 605.000000 moveto
gsave
newpath
33.000000 605.000000 moveto
33.000000 605.000000 lineto
34.000000 605.000000 lineto
34.000000 606.000000 lineto
34.000000 606.000000 lineto
33.000000 606.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
33.000000 605.000000 moveto
33.000000 605.000000 lineto
34.000000 605.000000 lineto
34.000000 606.000000 lineto
34.000000 606.000000 lineto
33.000000 606.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
34.000000 605.000000 moveto
gsave
newpath
34.000000 605.000000 moveto
523.000000 605.000000 lineto
524.000000 605.000000 lineto
524.000000 606.000000 lineto
35.000000 606.000000 lineto
34.000000 606.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 605.000000 moveto
gsave
newpath
524.000000 605.000000 moveto
524.000000 605.000000 lineto
525.000000 605.000000 lineto
525.000000 606.000000 lineto
525.000000 606.000000 lineto
524.000000 606.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
524.000000 605.000000 moveto
524.000000 605.000000 lineto
525.000000 605.000000 lineto
525.000000 606.000000 lineto
525.000000 606.000000 lineto
524.000000 606.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
33.000000 606.000000 moveto
gsave
newpath
33.000000 606.000000 moveto
34.000000 606.000000 lineto
34.000000 616.000000 lineto
34.000000 617.000000 lineto
33.000000 617.000000 lineto
33.000000 607.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 606.000000 moveto
gsave
newpath
524.000000 606.000000 moveto
525.000000 606.000000 lineto
525.000000 616.000000 lineto
525.000000 617.000000 lineto
524.000000 617.000000 lineto
524.000000 607.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 616.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 617 def/wp$left 34 def/wp$right 524 def/wp$bottom 628 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
36.000000 626.000000 moveto
(  \(list 68000 amode_alterable_memory \(\) \(list "1110001011mmmmmm"\)\))
dup
stringwidth
pop
396
exch
sub
7
div
exch
0
exch
32
exch
widthshow
33.000000 617.000000 moveto
gsave
newpath
33.000000 617.000000 moveto
34.000000 617.000000 lineto
34.000000 627.000000 lineto
34.000000 628.000000 lineto
33.000000 628.000000 lineto
33.000000 618.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 617.000000 moveto
gsave
newpath
524.000000 617.000000 moveto
525.000000 617.000000 lineto
525.000000 627.000000 lineto
525.000000 628.000000 lineto
524.000000 628.000000 lineto
524.000000 618.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 627.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 628 def/wp$left 34 def/wp$right 524 def/wp$bottom 639 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
36.000000 637.000000 moveto
(  \(list "-----" "-----" dont_expand)
dup
stringwidth
pop
210
exch
sub
5
div
exch
0
exch
32
exch
widthshow
33.000000 628.000000 moveto
gsave
newpath
33.000000 628.000000 moveto
34.000000 628.000000 lineto
34.000000 638.000000 lineto
34.000000 639.000000 lineto
33.000000 639.000000 lineto
33.000000 629.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 628.000000 moveto
gsave
newpath
524.000000 628.000000 moveto
525.000000 628.000000 lineto
525.000000 638.000000 lineto
525.000000 639.000000 lineto
524.000000 639.000000 lineto
524.000000 629.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 638.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 639 def/wp$left 34 def/wp$right 524 def/wp$bottom 650 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 648.000000 moveto
(\(assign $1.muw \(>> $1.muw 1\)\)\))
dup
stringwidth
pop
180
exch
sub
4
div
exch
0
exch
32
exch
widthshow
33.000000 639.000000 moveto
gsave
newpath
33.000000 639.000000 moveto
34.000000 639.000000 lineto
34.000000 649.000000 lineto
34.000000 650.000000 lineto
33.000000 650.000000 lineto
33.000000 640.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 639.000000 moveto
gsave
newpath
524.000000 639.000000 moveto
525.000000 639.000000 lineto
525.000000 649.000000 lineto
525.000000 650.000000 lineto
524.000000 650.000000 lineto
524.000000 640.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 649.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 650 def/wp$left 34 def/wp$right 524 def/wp$bottom 661 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
36.000000 659.000000 moveto
(  \(list "CN0XZ" "-----" dont_expand)
dup
stringwidth
pop
210
exch
sub
5
div
exch
0
exch
32
exch
widthshow
33.000000 650.000000 moveto
gsave
newpath
33.000000 650.000000 moveto
34.000000 650.000000 lineto
34.000000 660.000000 lineto
34.000000 661.000000 lineto
33.000000 661.000000 lineto
33.000000 651.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 650.000000 moveto
gsave
newpath
524.000000 650.000000 moveto
525.000000 650.000000 lineto
525.000000 660.000000 lineto
525.000000 661.000000 lineto
524.000000 661.000000 lineto
524.000000 651.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 660.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 661 def/wp$left 34 def/wp$right 524 def/wp$bottom 672 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 670.000000 moveto
(\(list)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
33.000000 661.000000 moveto
gsave
newpath
33.000000 661.000000 moveto
34.000000 661.000000 lineto
34.000000 671.000000 lineto
34.000000 672.000000 lineto
33.000000 672.000000 lineto
33.000000 662.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 661.000000 moveto
gsave
newpath
524.000000 661.000000 moveto
525.000000 661.000000 lineto
525.000000 671.000000 lineto
525.000000 672.000000 lineto
524.000000 672.000000 lineto
524.000000 662.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 671.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 672 def/wp$left 34 def/wp$right 524 def/wp$bottom 683 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 681.000000 moveto
( \(assign ccx \(assign ccc \(& $1.muw 1\)\)\))
dup
stringwidth
pop
234
exch
sub
7
div
exch
0
exch
32
exch
widthshow
33.000000 672.000000 moveto
gsave
newpath
33.000000 672.000000 moveto
34.000000 672.000000 lineto
34.000000 682.000000 lineto
34.000000 683.000000 lineto
33.000000 683.000000 lineto
33.000000 673.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 672.000000 moveto
gsave
newpath
524.000000 672.000000 moveto
525.000000 672.000000 lineto
525.000000 682.000000 lineto
525.000000 683.000000 lineto
524.000000 683.000000 lineto
524.000000 673.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 682.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 683 def/wp$left 34 def/wp$right 524 def/wp$bottom 694 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
144.000000 692.000000 moveto
( \(ASSIGN_NNZ_WORD \(assign $1.muw \(>> $1.muw 1\)\)\)\)\)\))
dup
stringwidth
pop
306
exch
sub
6
div
exch
0
exch
32
exch
widthshow
33.000000 683.000000 moveto
gsave
newpath
33.000000 683.000000 moveto
34.000000 683.000000 lineto
34.000000 693.000000 lineto
34.000000 694.000000 lineto
33.000000 694.000000 lineto
33.000000 684.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 683.000000 moveto
gsave
newpath
524.000000 683.000000 moveto
525.000000 683.000000 lineto
525.000000 693.000000 lineto
525.000000 694.000000 lineto
524.000000 694.000000 lineto
524.000000 684.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 693.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 694 def/wp$left 34 def/wp$right 524 def/wp$bottom 705 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
33.000000 694.000000 moveto
gsave
newpath
33.000000 694.000000 moveto
34.000000 694.000000 lineto
34.000000 704.000000 lineto
34.000000 705.000000 lineto
33.000000 705.000000 lineto
33.000000 695.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 694.000000 moveto
gsave
newpath
524.000000 694.000000 moveto
525.000000 694.000000 lineto
525.000000 704.000000 lineto
525.000000 705.000000 lineto
524.000000 705.000000 lineto
524.000000 695.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 704.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 705 def/wp$left 34 def/wp$right 524 def/wp$bottom 719 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
182.000000 715.000000 moveto
(Palatino-Roman)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Figure 1.  Syn68k description of lsrw)
dup
stringwidth
pop
194
exch
sub
6
div
exch
0
exch
32
exch
widthshow
33.000000 719.000000 moveto
gsave
newpath
33.000000 719.000000 moveto
33.000000 719.000000 lineto
34.000000 719.000000 lineto
34.000000 720.000000 lineto
34.000000 720.000000 lineto
33.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
33.000000 719.000000 moveto
33.000000 719.000000 lineto
34.000000 719.000000 lineto
34.000000 720.000000 lineto
34.000000 720.000000 lineto
33.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
34.000000 719.000000 moveto
gsave
newpath
34.000000 719.000000 moveto
523.000000 719.000000 lineto
524.000000 719.000000 lineto
524.000000 720.000000 lineto
35.000000 720.000000 lineto
34.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 719.000000 moveto
gsave
newpath
524.000000 719.000000 moveto
524.000000 719.000000 lineto
525.000000 719.000000 lineto
525.000000 720.000000 lineto
525.000000 720.000000 lineto
524.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
524.000000 719.000000 moveto
524.000000 719.000000 lineto
525.000000 719.000000 lineto
525.000000 720.000000 lineto
525.000000 720.000000 lineto
524.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
33.000000 705.000000 moveto
gsave
newpath
33.000000 705.000000 moveto
34.000000 705.000000 lineto
34.000000 718.000000 lineto
34.000000 719.000000 lineto
33.000000 719.000000 lineto
33.000000 706.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 705.000000 moveto
gsave
newpath
524.000000 705.000000 moveto
525.000000 705.000000 lineto
525.000000 718.000000 lineto
525.000000 719.000000 lineto
524.000000 719.000000 lineto
524.000000 706.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 3 3
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
306.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
517.000000 753.000000 moveto
(3)
dup
stringwidth
pop
5
exch
sub
1
div
exch
0
exch
ashow
90.000000 81.000000 moveto
(compiled with GCC it uses C language extensions)
dup
stringwidth
pop
221
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 93.000000 moveto
(that make synthetic opcodes be pointers to the C)
dup
stringwidth
pop
215
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 105.000000 moveto
(code responsible for interpreting that opcode.)
dup
stringwidth
pop
202
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 117.000000 moveto
(This "threaded interpreting" entirely eliminates)
dup
stringwidth
pop
209
exch
sub
4
div
exch
0
exch
32
exch
widthshow
90.000000 129.000000 moveto
(switch dispatch and loop overhead.)
dup
stringwidth
pop
158
exch
sub
4
div
exch
0
exch
32
exch
widthshow
108.000000 148.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Native Code)
dup
stringwidth
pop
69
exch
sub
1
div
exch
0
exch
32
exch
widthshow
90.000000 161.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(For the 80x86 architecture, Syn68k supports an)
dup
stringwidth
pop
207
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 173.000000 moveto
(optional architecture-specific native code)
dup
stringwidth
pop
182
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 185.000000 moveto
(extension that tries to generate native code)
dup
stringwidth
pop
189
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 197.000000 moveto
(whenever possible.  In those rare cases when it)
dup
stringwidth
pop
207
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 209.000000 moveto
(cannot, it reverts to our interpreted code.  Since)
dup
stringwidth
pop
210
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 221.000000 moveto
(Syn68k supports both native and synthetic code,)
dup
stringwidth
pop
215
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 233.000000 moveto
(the runtime system automatically inserts gateways)
dup
stringwidth
pop
225
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 245.000000 moveto
(between the two whenever there is a transition.)
dup
stringwidth
pop
210
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 269.000000 moveto
(Three major problems make translating 680x0)
dup
stringwidth
pop
203
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 281.000000 moveto
(code to 80x86 code difficult:)
dup
stringwidth
pop
124
exch
sub
4
div
exch
0
exch
32
exch
widthshow
108.000000 305.000000 moveto
(\245 The 80x86 has only 8 registers, while the)
dup
stringwidth
pop
187
exch
sub
8
div
exch
0
exch
32
exch
widthshow
117.000000 317.000000 moveto
(680x0 has 16.)
dup
stringwidth
pop
58
exch
sub
2
div
exch
0
exch
32
exch
widthshow
108.000000 341.000000 moveto
(\245 The 80x86 is little endian, while the 680x0 is)
dup
stringwidth
pop
202
exch
sub
9
div
exch
0
exch
32
exch
widthshow
117.000000 353.000000 moveto
(big endian.)
dup
stringwidth
pop
50
exch
sub
1
div
exch
0
exch
32
exch
widthshow
108.000000 377.000000 moveto
(\245 The 80x86 does not have general-purpose)
dup
stringwidth
pop
192
exch
sub
6
div
exch
0
exch
32
exch
widthshow
117.000000 389.000000 moveto
(postincrement and predecrement  operators,)
dup
stringwidth
pop
197
exch
sub
4
div
exch
0
exch
32
exch
widthshow
117.000000 401.000000 moveto
(which are used frequently in 680x0 code.)
dup
stringwidth
pop
181
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 425.000000 moveto
(On the other hand, several factors make the job)
dup
stringwidth
pop
209
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 437.000000 moveto
(easier than it would be for RISC machines:)
dup
stringwidth
pop
188
exch
sub
7
div
exch
0
exch
32
exch
widthshow
108.000000 461.000000 moveto
(\245 The 80x86 has all of the CISC addressing)
dup
stringwidth
pop
188
exch
sub
8
div
exch
0
exch
32
exch
widthshow
117.000000 473.000000 moveto
(modes commonly used in 680x0 code.)
dup
stringwidth
pop
168
exch
sub
5
div
exch
0
exch
32
exch
widthshow
108.000000 497.000000 moveto
(\245 The 80x86 has CC bits that map directly to)
dup
stringwidth
pop
196
exch
sub
9
div
exch
0
exch
32
exch
widthshow
117.000000 509.000000 moveto
(their 680x0 counterparts \(except for the)
dup
stringwidth
pop
173
exch
sub
5
div
exch
0
exch
32
exch
widthshow
117.000000 521.000000 moveto
(680x0's X bit\).)
dup
stringwidth
pop
61
exch
sub
2
div
exch
0
exch
32
exch
widthshow
108.000000 545.000000 moveto
(\245 The 80x86 supports 8-, 16- and 32-bit)
dup
stringwidth
pop
171
exch
sub
7
div
exch
0
exch
32
exch
widthshow
117.000000 557.000000 moveto
(operations, \(although it can only support 8)
dup
stringwidth
pop
189
exch
sub
6
div
exch
0
exch
32
exch
widthshow
117.000000 569.000000 moveto
(bit operations on four of its registers\).)
dup
stringwidth
pop
167
exch
sub
6
div
exch
0
exch
32
exch
widthshow
108.000000 593.000000 moveto
(\245 The 80x86 and 680x0 have analogous)
dup
stringwidth
pop
172
exch
sub
6
div
exch
0
exch
32
exch
widthshow
117.000000 605.000000 moveto
(conditional branch instructions.)
dup
stringwidth
pop
141
exch
sub
2
div
exch
0
exch
32
exch
widthshow
108.000000 629.000000 moveto
(\245 The 80x86 allows unaligned memory)
dup
stringwidth
pop
172
exch
sub
5
div
exch
0
exch
32
exch
widthshow
117.000000 641.000000 moveto
(accesses without substantial overhead.)
dup
stringwidth
pop
171
exch
sub
3
div
exch
0
exch
32
exch
widthshow
351.000000 81.000000 moveto
(The toughest problem is the lack of registers.  On)
dup
stringwidth
pop
217
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 93.000000 moveto
(32-register RISC architectures it's easy to allocate)
dup
stringwidth
pop
216
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 105.000000 moveto
(one RISC register for each 680x0 register, but on)
dup
stringwidth
pop
212
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 117.000000 moveto
(the 80x86 a different approach is needed. The)
dup
stringwidth
pop
201
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 129.000000 moveto
(obvious solution is to perform full-blown inter)
dup
stringwidth
pop
206
exch
sub
6
div
exch
0
exch
32
exch
widthshow
(-)
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
351.000000 141.000000 moveto
(block register allocation, but we fear that using)
dup
stringwidth
pop
208
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 153.000000 moveto
(traditional compiler techniques would be)
dup
stringwidth
pop
183
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 165.000000 moveto
(unacceptably slow.)
dup
stringwidth
pop
85
exch
sub
1
div
exch
0
exch
32
exch
widthshow
351.000000 189.000000 moveto
(For now, we have adopted a simple constraint:)
dup
stringwidth
pop
208
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 201.000000 moveto
(between basic blocks, all registers and live CC bits)
dup
stringwidth
pop
222
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 213.000000 moveto
(must reside in their canonical home in memory.)
dup
stringwidth
pop
212
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 225.000000 moveto
(Within a block, anything goes.  So what liberties)
dup
stringwidth
pop
213
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 237.000000 moveto
(does Syn68k take within a block?)
dup
stringwidth
pop
147
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 261.000000 moveto
(The 80x86 register set is treated as a cache for)
dup
stringwidth
pop
200
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 273.000000 moveto
(recently used 680x0 registers, and the 80x86 CC)
dup
stringwidth
pop
210
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 285.000000 moveto
(bits are used as a cache for the 680x0 CC bits.  At)
dup
stringwidth
pop
215
exch
sub
12
div
exch
0
exch
32
exch
widthshow
351.000000 297.000000 moveto
(any particular point within a block, each 680x0)
dup
stringwidth
pop
207
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 309.000000 moveto
(register is either sitting in its memory home or is)
dup
stringwidth
pop
215
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 321.000000 moveto
(cached in an 80x86 register, and each live 680x0)
dup
stringwidth
pop
210
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 333.000000 moveto
(CC bit is either cached in its 80x86 equivalent or)
dup
stringwidth
pop
213
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 345.000000 moveto
(stored in its memory home.  Cached registers may)
dup
stringwidth
pop
223
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 357.000000 moveto
(be in canonical form, may be byte swapped, may)
dup
stringwidth
pop
217
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 369.000000 moveto
(have only their low two bytes swapped, or may be)
dup
stringwidth
pop
224
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 381.000000 moveto
(offset by a known constant from their actual value.)
dup
stringwidth
pop
225
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 405.000000 moveto
(Each 680x0 instruction can require that 680x0)
dup
stringwidth
pop
200
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 417.000000 moveto
(registers be cached in particular ways.  For)
dup
stringwidth
pop
189
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 429.000000 moveto
(example, )
dup
stringwidth
pop
43
exch
sub
1
div
exch
0
exch
32
exch
widthshow
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(movel d0, mem)
dup
stringwidth
pop
78
exch
sub
2
div
exch
0
exch
32
exch
widthshow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
( requires d0 to be)
dup
stringwidth
pop
77
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 441.000000 moveto
(cached in big endian byte order.  The compilation)
dup
stringwidth
pop
220
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 453.000000 moveto
(engine generates the minimal code needed to)
dup
stringwidth
pop
200
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 465.000000 moveto
(satisfy those constraints and then calls a sequence)
dup
stringwidth
pop
220
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 477.000000 moveto
(of routines to generate the native code.  As each)
dup
stringwidth
pop
212
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 489.000000 moveto
(680x0 instruction is processed, each 680x0)
dup
stringwidth
pop
185
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 501.000000 moveto
(register's cache status is updated.  Dirty registers)
dup
stringwidth
pop
216
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 513.000000 moveto
(are canonicalized and spilled back to memory at)
dup
stringwidth
pop
214
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 525.000000 moveto
(the end of each block \(or when we run out of)
dup
stringwidth
pop
199
exch
sub
10
div
exch
0
exch
32
exch
widthshow
351.000000 537.000000 moveto
(80x86 registers and we need to make room\).)
dup
stringwidth
pop
195
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 561.000000 moveto
(We allow 680x0 registers to be cached with)
dup
stringwidth
pop
190
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 573.000000 moveto
(varying byte orders and offsets so that we can)
dup
stringwidth
pop
204
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 585.000000 moveto
(perform the optimizations of lazy byte swapping)
dup
stringwidth
pop
217
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 597.000000 moveto
(and lazy constant offsetting.  If the 680x0 program)
dup
stringwidth
pop
222
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 609.000000 moveto
(loads a register from memory and then ends up)
dup
stringwidth
pop
211
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 621.000000 moveto
(writing it out later, we avoid unnecessary byte)
dup
stringwidth
pop
206
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 633.000000 moveto
(swaps by not canonicalizing the value)
dup
stringwidth
pop
169
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 645.000000 moveto
(immediately.  Lazy constant offsetting mitigates)
dup
stringwidth
pop
213
exch
sub
5
div
exch
0
exch
32
exch
widthshow
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 4 4
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
252.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
463.000000 753.000000 moveto
(4)
dup
stringwidth
pop
5
exch
sub
1
div
exch
0
exch
ashow
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 73 def/wp$left 34 def/wp$right 524 def/wp$bottom 84 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 82.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(pea)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
144.000000 82.000000 moveto
(0x1)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
33.000000 72.000000 moveto
gsave
newpath
33.000000 72.000000 moveto
33.000000 72.000000 lineto
34.000000 72.000000 lineto
34.000000 73.000000 lineto
34.000000 73.000000 lineto
33.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
33.000000 72.000000 moveto
33.000000 72.000000 lineto
34.000000 72.000000 lineto
34.000000 73.000000 lineto
34.000000 73.000000 lineto
33.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
34.000000 72.000000 moveto
gsave
newpath
34.000000 72.000000 moveto
523.000000 72.000000 lineto
524.000000 72.000000 lineto
524.000000 73.000000 lineto
35.000000 73.000000 lineto
34.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 72.000000 moveto
gsave
newpath
524.000000 72.000000 moveto
524.000000 72.000000 lineto
525.000000 72.000000 lineto
525.000000 73.000000 lineto
525.000000 73.000000 lineto
524.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
524.000000 72.000000 moveto
524.000000 72.000000 lineto
525.000000 72.000000 lineto
525.000000 73.000000 lineto
525.000000 73.000000 lineto
524.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
33.000000 73.000000 moveto
gsave
newpath
33.000000 73.000000 moveto
34.000000 73.000000 lineto
34.000000 83.000000 lineto
34.000000 84.000000 lineto
33.000000 84.000000 lineto
33.000000 74.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 73.000000 moveto
gsave
newpath
524.000000 73.000000 moveto
525.000000 73.000000 lineto
525.000000 83.000000 lineto
525.000000 84.000000 lineto
524.000000 84.000000 lineto
524.000000 74.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 83.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 84 def/wp$left 34 def/wp$right 524 def/wp$bottom 95 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 93.000000 moveto
(pea)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
144.000000 93.000000 moveto
(0x2)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
33.000000 84.000000 moveto
gsave
newpath
33.000000 84.000000 moveto
34.000000 84.000000 lineto
34.000000 94.000000 lineto
34.000000 95.000000 lineto
33.000000 95.000000 lineto
33.000000 85.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 84.000000 moveto
gsave
newpath
524.000000 84.000000 moveto
525.000000 84.000000 lineto
525.000000 94.000000 lineto
525.000000 95.000000 lineto
524.000000 95.000000 lineto
524.000000 85.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 94.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 95 def/wp$left 34 def/wp$right 524 def/wp$bottom 106 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 104.000000 moveto
(pea)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
144.000000 104.000000 moveto
(0x3)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
33.000000 95.000000 moveto
gsave
newpath
33.000000 95.000000 moveto
34.000000 95.000000 lineto
34.000000 105.000000 lineto
34.000000 106.000000 lineto
33.000000 106.000000 lineto
33.000000 96.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 95.000000 moveto
gsave
newpath
524.000000 95.000000 moveto
525.000000 95.000000 lineto
525.000000 105.000000 lineto
525.000000 106.000000 lineto
524.000000 106.000000 lineto
524.000000 96.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 105.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 106 def/wp$left 34 def/wp$right 524 def/wp$bottom 117 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 115.000000 moveto
(pea)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
144.000000 115.000000 moveto
(0x4)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
33.000000 106.000000 moveto
gsave
newpath
33.000000 106.000000 moveto
34.000000 106.000000 lineto
34.000000 116.000000 lineto
34.000000 117.000000 lineto
33.000000 117.000000 lineto
33.000000 107.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 106.000000 moveto
gsave
newpath
524.000000 106.000000 moveto
525.000000 106.000000 lineto
525.000000 116.000000 lineto
525.000000 117.000000 lineto
524.000000 117.000000 lineto
524.000000 107.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 116.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 117 def/wp$left 34 def/wp$right 524 def/wp$bottom 129 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 126.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(...)
dup
stringwidth
pop
8
exch
sub
3
div
exch
0
exch
ashow
33.000000 117.000000 moveto
gsave
newpath
33.000000 117.000000 moveto
34.000000 117.000000 lineto
34.000000 128.000000 lineto
34.000000 129.000000 lineto
33.000000 129.000000 lineto
33.000000 118.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 117.000000 moveto
gsave
newpath
524.000000 117.000000 moveto
525.000000 117.000000 lineto
525.000000 128.000000 lineto
525.000000 129.000000 lineto
524.000000 129.000000 lineto
524.000000 118.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 128.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 129 def/wp$left 34 def/wp$right 524 def/wp$bottom 141 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
33.000000 129.000000 moveto
gsave
newpath
33.000000 129.000000 moveto
34.000000 129.000000 lineto
34.000000 140.000000 lineto
34.000000 141.000000 lineto
33.000000 141.000000 lineto
33.000000 130.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 129.000000 moveto
gsave
newpath
524.000000 129.000000 moveto
525.000000 129.000000 lineto
525.000000 140.000000 lineto
525.000000 141.000000 lineto
524.000000 141.000000 lineto
524.000000 130.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 140.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 141 def/wp$left 34 def/wp$right 524 def/wp$bottom 153 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
36.000000 150.000000 moveto
(becomes this 80x86 code:)
dup
stringwidth
pop
111
exch
sub
3
div
exch
0
exch
32
exch
widthshow
33.000000 141.000000 moveto
gsave
newpath
33.000000 141.000000 moveto
34.000000 141.000000 lineto
34.000000 152.000000 lineto
34.000000 153.000000 lineto
33.000000 153.000000 lineto
33.000000 142.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 141.000000 moveto
gsave
newpath
524.000000 141.000000 moveto
525.000000 141.000000 lineto
525.000000 152.000000 lineto
525.000000 153.000000 lineto
524.000000 153.000000 lineto
524.000000 142.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 152.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 153 def/wp$left 34 def/wp$right 524 def/wp$bottom 165 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
33.000000 153.000000 moveto
gsave
newpath
33.000000 153.000000 moveto
34.000000 153.000000 lineto
34.000000 164.000000 lineto
34.000000 165.000000 lineto
33.000000 165.000000 lineto
33.000000 154.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 153.000000 moveto
gsave
newpath
524.000000 153.000000 moveto
525.000000 153.000000 lineto
525.000000 164.000000 lineto
525.000000 165.000000 lineto
524.000000 165.000000 lineto
524.000000 154.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 164.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 165 def/wp$left 34 def/wp$right 524 def/wp$bottom 176 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 174.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 174.000000 moveto
(_a7,%edi)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
33.000000 165.000000 moveto
gsave
newpath
33.000000 165.000000 moveto
34.000000 165.000000 lineto
34.000000 175.000000 lineto
34.000000 176.000000 lineto
33.000000 176.000000 lineto
33.000000 166.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 165.000000 moveto
gsave
newpath
524.000000 165.000000 moveto
525.000000 165.000000 lineto
525.000000 175.000000 lineto
525.000000 176.000000 lineto
524.000000 176.000000 lineto
524.000000 166.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 175.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 176 def/wp$left 34 def/wp$right 524 def/wp$bottom 187 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 185.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 185.000000 moveto
($0x01000000,-4\(%edi\))
dup
stringwidth
pop
120
exch
sub
20
div
exch
0
exch
ashow
252.000000 185.000000 moveto
(; "push" big-endian constant)
dup
stringwidth
pop
168
exch
sub
3
div
exch
0
exch
32
exch
widthshow
33.000000 176.000000 moveto
gsave
newpath
33.000000 176.000000 moveto
34.000000 176.000000 lineto
34.000000 186.000000 lineto
34.000000 187.000000 lineto
33.000000 187.000000 lineto
33.000000 177.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 176.000000 moveto
gsave
newpath
524.000000 176.000000 moveto
525.000000 176.000000 lineto
525.000000 186.000000 lineto
525.000000 187.000000 lineto
524.000000 187.000000 lineto
524.000000 177.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 186.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 187 def/wp$left 34 def/wp$right 524 def/wp$bottom 198 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 196.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 196.000000 moveto
($0x02000000,-8\(%edi\))
dup
stringwidth
pop
120
exch
sub
20
div
exch
0
exch
ashow
33.000000 187.000000 moveto
gsave
newpath
33.000000 187.000000 moveto
34.000000 187.000000 lineto
34.000000 197.000000 lineto
34.000000 198.000000 lineto
33.000000 198.000000 lineto
33.000000 188.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 187.000000 moveto
gsave
newpath
524.000000 187.000000 moveto
525.000000 187.000000 lineto
525.000000 197.000000 lineto
525.000000 198.000000 lineto
524.000000 198.000000 lineto
524.000000 188.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 197.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 198 def/wp$left 34 def/wp$right 524 def/wp$bottom 209 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 207.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 207.000000 moveto
($0x03000000,-12\(%edi\))
dup
stringwidth
pop
126
exch
sub
21
div
exch
0
exch
ashow
33.000000 198.000000 moveto
gsave
newpath
33.000000 198.000000 moveto
34.000000 198.000000 lineto
34.000000 208.000000 lineto
34.000000 209.000000 lineto
33.000000 209.000000 lineto
33.000000 199.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 198.000000 moveto
gsave
newpath
524.000000 198.000000 moveto
525.000000 198.000000 lineto
525.000000 208.000000 lineto
525.000000 209.000000 lineto
524.000000 209.000000 lineto
524.000000 199.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 208.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 209 def/wp$left 34 def/wp$right 524 def/wp$bottom 220 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 218.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 218.000000 moveto
($0x04000000,-16\(%edi\))
dup
stringwidth
pop
126
exch
sub
21
div
exch
0
exch
ashow
33.000000 209.000000 moveto
gsave
newpath
33.000000 209.000000 moveto
34.000000 209.000000 lineto
34.000000 219.000000 lineto
34.000000 220.000000 lineto
33.000000 220.000000 lineto
33.000000 210.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 209.000000 moveto
gsave
newpath
524.000000 209.000000 moveto
525.000000 209.000000 lineto
525.000000 219.000000 lineto
525.000000 220.000000 lineto
524.000000 220.000000 lineto
524.000000 210.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 219.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 220 def/wp$left 34 def/wp$right 524 def/wp$bottom 231 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 229.000000 moveto
(... <more uses of a7 may follow, and they'll use %edi>)
dup
stringwidth
pop
324
exch
sub
10
div
exch
0
exch
32
exch
widthshow
33.000000 220.000000 moveto
gsave
newpath
33.000000 220.000000 moveto
34.000000 220.000000 lineto
34.000000 230.000000 lineto
34.000000 231.000000 lineto
33.000000 231.000000 lineto
33.000000 221.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 220.000000 moveto
gsave
newpath
524.000000 220.000000 moveto
525.000000 220.000000 lineto
525.000000 230.000000 lineto
525.000000 231.000000 lineto
524.000000 231.000000 lineto
524.000000 221.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 230.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 231 def/wp$left 34 def/wp$right 524 def/wp$bottom 242 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 240.000000 moveto
(subl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 240.000000 moveto
($16,%edi)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
33.000000 231.000000 moveto
gsave
newpath
33.000000 231.000000 moveto
34.000000 231.000000 lineto
34.000000 241.000000 lineto
34.000000 242.000000 lineto
33.000000 242.000000 lineto
33.000000 232.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 231.000000 moveto
gsave
newpath
524.000000 231.000000 moveto
525.000000 231.000000 lineto
525.000000 241.000000 lineto
525.000000 242.000000 lineto
524.000000 242.000000 lineto
524.000000 232.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 241.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 242 def/wp$left 34 def/wp$right 524 def/wp$bottom 253 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 251.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 251.000000 moveto
($edi,_a7)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
33.000000 242.000000 moveto
gsave
newpath
33.000000 242.000000 moveto
34.000000 242.000000 lineto
34.000000 252.000000 lineto
34.000000 253.000000 lineto
33.000000 253.000000 lineto
33.000000 243.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 242.000000 moveto
gsave
newpath
524.000000 242.000000 moveto
525.000000 242.000000 lineto
525.000000 252.000000 lineto
525.000000 253.000000 lineto
524.000000 253.000000 lineto
524.000000 243.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 252.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 253 def/wp$left 34 def/wp$right 524 def/wp$bottom 265 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 262.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(...)
dup
stringwidth
pop
8
exch
sub
3
div
exch
0
exch
ashow
33.000000 253.000000 moveto
gsave
newpath
33.000000 253.000000 moveto
34.000000 253.000000 lineto
34.000000 264.000000 lineto
34.000000 265.000000 lineto
33.000000 265.000000 lineto
33.000000 254.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 253.000000 moveto
gsave
newpath
524.000000 253.000000 moveto
525.000000 253.000000 lineto
525.000000 264.000000 lineto
525.000000 265.000000 lineto
524.000000 265.000000 lineto
524.000000 254.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 264.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 265 def/wp$left 34 def/wp$right 524 def/wp$bottom 279 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
186.000000 275.000000 moveto
(Palatino-Roman)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Figure 2.  Lazy Constant Offsetting)
dup
stringwidth
pop
186
exch
sub
5
div
exch
0
exch
32
exch
widthshow
33.000000 279.000000 moveto
gsave
newpath
33.000000 279.000000 moveto
33.000000 279.000000 lineto
34.000000 279.000000 lineto
34.000000 280.000000 lineto
34.000000 280.000000 lineto
33.000000 280.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
33.000000 279.000000 moveto
33.000000 279.000000 lineto
34.000000 279.000000 lineto
34.000000 280.000000 lineto
34.000000 280.000000 lineto
33.000000 280.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
34.000000 279.000000 moveto
gsave
newpath
34.000000 279.000000 moveto
523.000000 279.000000 lineto
524.000000 279.000000 lineto
524.000000 280.000000 lineto
35.000000 280.000000 lineto
34.000000 280.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 279.000000 moveto
gsave
newpath
524.000000 279.000000 moveto
524.000000 279.000000 lineto
525.000000 279.000000 lineto
525.000000 280.000000 lineto
525.000000 280.000000 lineto
524.000000 280.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
524.000000 279.000000 moveto
524.000000 279.000000 lineto
525.000000 279.000000 lineto
525.000000 280.000000 lineto
525.000000 280.000000 lineto
524.000000 280.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
33.000000 265.000000 moveto
gsave
newpath
33.000000 265.000000 moveto
34.000000 265.000000 lineto
34.000000 278.000000 lineto
34.000000 279.000000 lineto
33.000000 279.000000 lineto
33.000000 266.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 265.000000 moveto
gsave
newpath
524.000000 265.000000 moveto
525.000000 265.000000 lineto
525.000000 278.000000 lineto
525.000000 279.000000 lineto
524.000000 279.000000 lineto
524.000000 266.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
36.000000 299.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(the overhead of postincrement and predecrement)
dup
stringwidth
pop
219
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 311.000000 moveto
(side effects.  Figure 2 is an example of lazy)
dup
stringwidth
pop
188
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 323.000000 moveto
(constant offsetting.)
dup
stringwidth
pop
85
exch
sub
1
div
exch
0
exch
32
exch
widthshow
36.000000 347.000000 moveto
(As mentioned above, we use the 80x86 condition)
dup
stringwidth
pop
216
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 359.000000 moveto
(code bits as a cache for the real 680x0 CC bits.)
dup
stringwidth
pop
202
exch
sub
10
div
exch
0
exch
32
exch
widthshow
36.000000 371.000000 moveto
(Although live cached CC bits are occasionally)
dup
stringwidth
pop
203
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 383.000000 moveto
(spilled back to memory because some 80x86)
dup
stringwidth
pop
195
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 395.000000 moveto
(instruction is about to clobber them, this trick)
dup
stringwidth
pop
201
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 407.000000 moveto
(almost always works.  Using 80x86 CC bits, we)
dup
stringwidth
pop
208
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 419.000000 moveto
(can frequently get away with extremely concise)
dup
stringwidth
pop
211
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 431.000000 moveto
(code sequences; for example, a 680x0 compare and)
dup
stringwidth
pop
224
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 443.000000 moveto
(conditional branch becomes an 80x86 compare and)
dup
stringwidth
pop
226
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 455.000000 moveto
(conditional branch.)
dup
stringwidth
pop
86
exch
sub
1
div
exch
0
exch
32
exch
widthshow
54.000000 474.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Self-modifying Code)
dup
stringwidth
pop
116
exch
sub
1
div
exch
0
exch
32
exch
widthshow
36.000000 487.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Like most dynamically compiling emulators,)
dup
stringwidth
pop
198
exch
sub
4
div
exch
0
exch
32
exch
widthshow
36.000000 499.000000 moveto
(Syn68k doesn't detect self-modifying code; the)
dup
stringwidth
pop
206
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 511.000000 moveto
(overhead is too high.  Fortunately, self-modifying)
dup
stringwidth
pop
220
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 523.000000 moveto
(programs don't work on the real 68040 either.  We)
dup
stringwidth
pop
222
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 535.000000 moveto
(rely on the program making explicit system calls)
dup
stringwidth
pop
216
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 299.000000 moveto
(to flush the caches whenever 680x0 code may have)
dup
stringwidth
pop
225
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 311.000000 moveto
(been modified or created.  Some programs \(like)
dup
stringwidth
pop
210
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 323.000000 moveto
(HyperCard\) flush the caches very often, which can)
dup
stringwidth
pop
225
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 335.000000 moveto
(cause real performance headaches if code is)
dup
stringwidth
pop
193
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 347.000000 moveto
(continuously recompiled.  We have solved this)
dup
stringwidth
pop
208
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 359.000000 moveto
(problem by checksumming 680x0 blocks as they)
dup
stringwidth
pop
213
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 371.000000 moveto
(are compiled and only decompiling blocks which)
dup
stringwidth
pop
219
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 383.000000 moveto
(fail their checksums.  This optimization alone sped)
dup
stringwidth
pop
225
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 395.000000 moveto
(up some HyperCard stacks by a factor of three or)
dup
stringwidth
pop
218
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 407.000000 moveto
(so.)
dup
stringwidth
pop
13
exch
sub
3
div
exch
0
exch
ashow
315.000000 426.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Examples)
dup
stringwidth
pop
53
exch
sub
8
div
exch
0
exch
ashow
297.000000 439.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Figure 3 contains two sample 680x0 code)
dup
stringwidth
pop
181
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 451.000000 moveto
(sequences from real applications, and the 80x86)
dup
stringwidth
pop
211
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 463.000000 moveto
(code that Syn68k generates for them.  We chose)
dup
stringwidth
pop
210
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 475.000000 moveto
(these code sequences specifically to showcase)
dup
stringwidth
pop
202
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 487.000000 moveto
(several of the techniques we use, so you shouldn't)
dup
stringwidth
pop
221
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 499.000000 moveto
(use them as a substitute for benchmarks. Not all)
dup
stringwidth
pop
213
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 511.000000 moveto
(680x0 code translates as well as these examples do,)
dup
stringwidth
pop
225
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 523.000000 moveto
(but these examples are far from exotic.)
dup
stringwidth
pop
171
exch
sub
6
div
exch
0
exch
32
exch
widthshow
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 5 5
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
306.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
517.000000 753.000000 moveto
(5)
dup
stringwidth
pop
5
exch
sub
1
div
exch
0
exch
ashow
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 73 def/wp$left 88 def/wp$right 578 def/wp$bottom 85 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 82.000000 moveto
(Example 1 \(Solarian\):)
dup
stringwidth
pop
95
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 72.000000 moveto
gsave
newpath
87.000000 72.000000 moveto
87.000000 72.000000 lineto
88.000000 72.000000 lineto
88.000000 73.000000 lineto
88.000000 73.000000 lineto
87.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
87.000000 72.000000 moveto
87.000000 72.000000 lineto
88.000000 72.000000 lineto
88.000000 73.000000 lineto
88.000000 73.000000 lineto
87.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
88.000000 72.000000 moveto
gsave
newpath
88.000000 72.000000 moveto
577.000000 72.000000 lineto
578.000000 72.000000 lineto
578.000000 73.000000 lineto
89.000000 73.000000 lineto
88.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 72.000000 moveto
gsave
newpath
578.000000 72.000000 moveto
578.000000 72.000000 lineto
579.000000 72.000000 lineto
579.000000 73.000000 lineto
579.000000 73.000000 lineto
578.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
578.000000 72.000000 moveto
578.000000 72.000000 lineto
579.000000 72.000000 lineto
579.000000 73.000000 lineto
579.000000 73.000000 lineto
578.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
87.000000 73.000000 moveto
gsave
newpath
87.000000 73.000000 moveto
88.000000 73.000000 lineto
88.000000 84.000000 lineto
88.000000 85.000000 lineto
87.000000 85.000000 lineto
87.000000 74.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 73.000000 moveto
gsave
newpath
578.000000 73.000000 moveto
579.000000 73.000000 lineto
579.000000 84.000000 lineto
579.000000 85.000000 lineto
578.000000 85.000000 lineto
578.000000 74.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 84.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 85 def/wp$left 88 def/wp$right 578 def/wp$bottom 97 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
87.000000 85.000000 moveto
gsave
newpath
87.000000 85.000000 moveto
88.000000 85.000000 lineto
88.000000 96.000000 lineto
88.000000 97.000000 lineto
87.000000 97.000000 lineto
87.000000 86.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 85.000000 moveto
gsave
newpath
578.000000 85.000000 moveto
579.000000 85.000000 lineto
579.000000 96.000000 lineto
579.000000 97.000000 lineto
578.000000 97.000000 lineto
578.000000 86.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 96.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 97 def/wp$left 88 def/wp$right 578 def/wp$bottom 109 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 106.000000 moveto
(680x0 code:)
dup
stringwidth
pop
51
exch
sub
1
div
exch
0
exch
32
exch
widthshow
87.000000 97.000000 moveto
gsave
newpath
87.000000 97.000000 moveto
88.000000 97.000000 lineto
88.000000 108.000000 lineto
88.000000 109.000000 lineto
87.000000 109.000000 lineto
87.000000 98.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 97.000000 moveto
gsave
newpath
578.000000 97.000000 moveto
579.000000 97.000000 lineto
579.000000 108.000000 lineto
579.000000 109.000000 lineto
578.000000 109.000000 lineto
578.000000 98.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 108.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 109 def/wp$left 88 def/wp$right 578 def/wp$bottom 121 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
87.000000 109.000000 moveto
gsave
newpath
87.000000 109.000000 moveto
88.000000 109.000000 lineto
88.000000 120.000000 lineto
88.000000 121.000000 lineto
87.000000 121.000000 lineto
87.000000 110.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 109.000000 moveto
gsave
newpath
578.000000 109.000000 moveto
579.000000 109.000000 lineto
579.000000 120.000000 lineto
579.000000 121.000000 lineto
578.000000 121.000000 lineto
578.000000 110.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 120.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 121 def/wp$left 88 def/wp$right 578 def/wp$bottom 132 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 130.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(addqb)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
162.000000 130.000000 moveto
(#1,a4@\(1\))
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
87.000000 121.000000 moveto
gsave
newpath
87.000000 121.000000 moveto
88.000000 121.000000 lineto
88.000000 131.000000 lineto
88.000000 132.000000 lineto
87.000000 132.000000 lineto
87.000000 122.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 121.000000 moveto
gsave
newpath
578.000000 121.000000 moveto
579.000000 121.000000 lineto
579.000000 131.000000 lineto
579.000000 132.000000 lineto
578.000000 132.000000 lineto
578.000000 122.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 131.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 132 def/wp$left 88 def/wp$right 578 def/wp$bottom 143 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 141.000000 moveto
(movel)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
162.000000 141.000000 moveto
(#0,d0)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
87.000000 132.000000 moveto
gsave
newpath
87.000000 132.000000 moveto
88.000000 132.000000 lineto
88.000000 142.000000 lineto
88.000000 143.000000 lineto
87.000000 143.000000 lineto
87.000000 133.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 132.000000 moveto
gsave
newpath
578.000000 132.000000 moveto
579.000000 132.000000 lineto
579.000000 142.000000 lineto
579.000000 143.000000 lineto
578.000000 143.000000 lineto
578.000000 133.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 142.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 143 def/wp$left 88 def/wp$right 578 def/wp$bottom 154 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 152.000000 moveto
(moveb)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
162.000000 152.000000 moveto
(a4@,d0)
dup
stringwidth
pop
36
exch
sub
6
div
exch
0
exch
ashow
87.000000 143.000000 moveto
gsave
newpath
87.000000 143.000000 moveto
88.000000 143.000000 lineto
88.000000 153.000000 lineto
88.000000 154.000000 lineto
87.000000 154.000000 lineto
87.000000 144.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 143.000000 moveto
gsave
newpath
578.000000 143.000000 moveto
579.000000 143.000000 lineto
579.000000 153.000000 lineto
579.000000 154.000000 lineto
578.000000 154.000000 lineto
578.000000 144.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 153.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 154 def/wp$left 88 def/wp$right 578 def/wp$bottom 165 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 163.000000 moveto
(swap)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 163.000000 moveto
(d0)
dup
stringwidth
pop
12
exch
sub
2
div
exch
0
exch
ashow
87.000000 154.000000 moveto
gsave
newpath
87.000000 154.000000 moveto
88.000000 154.000000 lineto
88.000000 164.000000 lineto
88.000000 165.000000 lineto
87.000000 165.000000 lineto
87.000000 155.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 154.000000 moveto
gsave
newpath
578.000000 154.000000 moveto
579.000000 154.000000 lineto
579.000000 164.000000 lineto
579.000000 165.000000 lineto
578.000000 165.000000 lineto
578.000000 155.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 164.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 165 def/wp$left 88 def/wp$right 578 def/wp$bottom 176 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 174.000000 moveto
(clrw)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 174.000000 moveto
(d0)
dup
stringwidth
pop
12
exch
sub
2
div
exch
0
exch
ashow
87.000000 165.000000 moveto
gsave
newpath
87.000000 165.000000 moveto
88.000000 165.000000 lineto
88.000000 175.000000 lineto
88.000000 176.000000 lineto
87.000000 176.000000 lineto
87.000000 166.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 165.000000 moveto
gsave
newpath
578.000000 165.000000 moveto
579.000000 165.000000 lineto
579.000000 175.000000 lineto
579.000000 176.000000 lineto
578.000000 176.000000 lineto
578.000000 166.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 175.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 176 def/wp$left 88 def/wp$right 578 def/wp$bottom 187 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 185.000000 moveto
(swap)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 185.000000 moveto
(d0)
dup
stringwidth
pop
12
exch
sub
2
div
exch
0
exch
ashow
87.000000 176.000000 moveto
gsave
newpath
87.000000 176.000000 moveto
88.000000 176.000000 lineto
88.000000 186.000000 lineto
88.000000 187.000000 lineto
87.000000 187.000000 lineto
87.000000 177.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 176.000000 moveto
gsave
newpath
578.000000 176.000000 moveto
579.000000 176.000000 lineto
579.000000 186.000000 lineto
579.000000 187.000000 lineto
578.000000 187.000000 lineto
578.000000 177.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 186.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 187 def/wp$left 88 def/wp$right 578 def/wp$bottom 198 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 196.000000 moveto
(asll)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 196.000000 moveto
(#2,d0)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
87.000000 187.000000 moveto
gsave
newpath
87.000000 187.000000 moveto
88.000000 187.000000 lineto
88.000000 197.000000 lineto
88.000000 198.000000 lineto
87.000000 198.000000 lineto
87.000000 188.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 187.000000 moveto
gsave
newpath
578.000000 187.000000 moveto
579.000000 187.000000 lineto
579.000000 197.000000 lineto
579.000000 198.000000 lineto
578.000000 198.000000 lineto
578.000000 188.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 197.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 198 def/wp$left 88 def/wp$right 578 def/wp$bottom 209 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 207.000000 moveto
(lea)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
162.000000 207.000000 moveto
(a5@\(-13462\),a0)
dup
stringwidth
pop
84
exch
sub
14
div
exch
0
exch
ashow
87.000000 198.000000 moveto
gsave
newpath
87.000000 198.000000 moveto
88.000000 198.000000 lineto
88.000000 208.000000 lineto
88.000000 209.000000 lineto
87.000000 209.000000 lineto
87.000000 199.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 198.000000 moveto
gsave
newpath
578.000000 198.000000 moveto
579.000000 198.000000 lineto
579.000000 208.000000 lineto
579.000000 209.000000 lineto
578.000000 209.000000 lineto
578.000000 199.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 208.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 209 def/wp$left 88 def/wp$right 578 def/wp$bottom 220 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 218.000000 moveto
(addal)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
162.000000 218.000000 moveto
(d0,a0)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
87.000000 209.000000 moveto
gsave
newpath
87.000000 209.000000 moveto
88.000000 209.000000 lineto
88.000000 219.000000 lineto
88.000000 220.000000 lineto
87.000000 220.000000 lineto
87.000000 210.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 209.000000 moveto
gsave
newpath
578.000000 209.000000 moveto
579.000000 209.000000 lineto
579.000000 219.000000 lineto
579.000000 220.000000 lineto
578.000000 220.000000 lineto
578.000000 210.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 219.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 220 def/wp$left 88 def/wp$right 578 def/wp$bottom 231 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 229.000000 moveto
(moveal)
dup
stringwidth
pop
36
exch
sub
6
div
exch
0
exch
ashow
198.000000 229.000000 moveto
(a0@,a0)
dup
stringwidth
pop
36
exch
sub
6
div
exch
0
exch
ashow
87.000000 220.000000 moveto
gsave
newpath
87.000000 220.000000 moveto
88.000000 220.000000 lineto
88.000000 230.000000 lineto
88.000000 231.000000 lineto
87.000000 231.000000 lineto
87.000000 221.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 220.000000 moveto
gsave
newpath
578.000000 220.000000 moveto
579.000000 220.000000 lineto
579.000000 230.000000 lineto
579.000000 231.000000 lineto
578.000000 231.000000 lineto
578.000000 221.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 230.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 231 def/wp$left 88 def/wp$right 578 def/wp$bottom 242 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 240.000000 moveto
(movel)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
162.000000 240.000000 moveto
(#0,d0)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
87.000000 231.000000 moveto
gsave
newpath
87.000000 231.000000 moveto
88.000000 231.000000 lineto
88.000000 241.000000 lineto
88.000000 242.000000 lineto
87.000000 242.000000 lineto
87.000000 232.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 231.000000 moveto
gsave
newpath
578.000000 231.000000 moveto
579.000000 231.000000 lineto
579.000000 241.000000 lineto
579.000000 242.000000 lineto
578.000000 242.000000 lineto
578.000000 232.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 241.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 242 def/wp$left 88 def/wp$right 578 def/wp$bottom 253 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 251.000000 moveto
(moveb)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
162.000000 251.000000 moveto
(a4@\(1\),d0)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
87.000000 242.000000 moveto
gsave
newpath
87.000000 242.000000 moveto
88.000000 242.000000 lineto
88.000000 252.000000 lineto
88.000000 253.000000 lineto
87.000000 253.000000 lineto
87.000000 243.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 242.000000 moveto
gsave
newpath
578.000000 242.000000 moveto
579.000000 242.000000 lineto
579.000000 252.000000 lineto
579.000000 253.000000 lineto
578.000000 253.000000 lineto
578.000000 243.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 252.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 253 def/wp$left 88 def/wp$right 578 def/wp$bottom 264 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 262.000000 moveto
(cmpw)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 262.000000 moveto
(a0@,d0)
dup
stringwidth
pop
36
exch
sub
6
div
exch
0
exch
ashow
87.000000 253.000000 moveto
gsave
newpath
87.000000 253.000000 moveto
88.000000 253.000000 lineto
88.000000 263.000000 lineto
88.000000 264.000000 lineto
87.000000 264.000000 lineto
87.000000 254.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 253.000000 moveto
gsave
newpath
578.000000 253.000000 moveto
579.000000 253.000000 lineto
579.000000 263.000000 lineto
579.000000 264.000000 lineto
578.000000 264.000000 lineto
578.000000 254.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 263.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 264 def/wp$left 88 def/wp$right 578 def/wp$bottom 275 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 273.000000 moveto
(bcs)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
162.000000 273.000000 moveto
(0x3fffee2)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
87.000000 264.000000 moveto
gsave
newpath
87.000000 264.000000 moveto
88.000000 264.000000 lineto
88.000000 274.000000 lineto
88.000000 275.000000 lineto
87.000000 275.000000 lineto
87.000000 265.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 264.000000 moveto
gsave
newpath
578.000000 264.000000 moveto
579.000000 264.000000 lineto
579.000000 274.000000 lineto
579.000000 275.000000 lineto
578.000000 275.000000 lineto
578.000000 265.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 274.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 275 def/wp$left 88 def/wp$right 578 def/wp$bottom 287 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
87.000000 275.000000 moveto
gsave
newpath
87.000000 275.000000 moveto
88.000000 275.000000 lineto
88.000000 286.000000 lineto
88.000000 287.000000 lineto
87.000000 287.000000 lineto
87.000000 276.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 275.000000 moveto
gsave
newpath
578.000000 275.000000 moveto
579.000000 275.000000 lineto
579.000000 286.000000 lineto
579.000000 287.000000 lineto
578.000000 287.000000 lineto
578.000000 276.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 286.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 287 def/wp$left 88 def/wp$right 578 def/wp$bottom 299 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
87.000000 287.000000 moveto
gsave
newpath
87.000000 287.000000 moveto
88.000000 287.000000 lineto
88.000000 298.000000 lineto
88.000000 299.000000 lineto
87.000000 299.000000 lineto
87.000000 288.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 287.000000 moveto
gsave
newpath
578.000000 287.000000 moveto
579.000000 287.000000 lineto
579.000000 298.000000 lineto
579.000000 299.000000 lineto
578.000000 299.000000 lineto
578.000000 288.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 298.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 299 def/wp$left 88 def/wp$right 578 def/wp$bottom 311 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 308.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(80x86 code:)
dup
stringwidth
pop
51
exch
sub
1
div
exch
0
exch
32
exch
widthshow
87.000000 299.000000 moveto
gsave
newpath
87.000000 299.000000 moveto
88.000000 299.000000 lineto
88.000000 310.000000 lineto
88.000000 311.000000 lineto
87.000000 311.000000 lineto
87.000000 300.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 299.000000 moveto
gsave
newpath
578.000000 299.000000 moveto
579.000000 299.000000 lineto
579.000000 310.000000 lineto
579.000000 311.000000 lineto
578.000000 311.000000 lineto
578.000000 300.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 310.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 311 def/wp$left 88 def/wp$right 578 def/wp$bottom 323 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
87.000000 311.000000 moveto
gsave
newpath
87.000000 311.000000 moveto
88.000000 311.000000 lineto
88.000000 322.000000 lineto
88.000000 323.000000 lineto
87.000000 323.000000 lineto
87.000000 312.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 311.000000 moveto
gsave
newpath
578.000000 311.000000 moveto
579.000000 311.000000 lineto
579.000000 322.000000 lineto
579.000000 323.000000 lineto
578.000000 323.000000 lineto
578.000000 312.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 322.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 323 def/wp$left 88 def/wp$right 578 def/wp$bottom 334 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 332.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 332.000000 moveto
(_a4,%edi)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
270.000000 332.000000 moveto
(; addqb #1,a4@\(1\))
dup
stringwidth
pop
102
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 323.000000 moveto
gsave
newpath
87.000000 323.000000 moveto
88.000000 323.000000 lineto
88.000000 333.000000 lineto
88.000000 334.000000 lineto
87.000000 334.000000 lineto
87.000000 324.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 323.000000 moveto
gsave
newpath
578.000000 323.000000 moveto
579.000000 323.000000 lineto
579.000000 333.000000 lineto
579.000000 334.000000 lineto
578.000000 334.000000 lineto
578.000000 324.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 333.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 334 def/wp$left 88 def/wp$right 578 def/wp$bottom 345 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 343.000000 moveto
(addb)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 343.000000 moveto
($0x1,0x1\(%edi\))
dup
stringwidth
pop
84
exch
sub
14
div
exch
0
exch
ashow
87.000000 334.000000 moveto
gsave
newpath
87.000000 334.000000 moveto
88.000000 334.000000 lineto
88.000000 344.000000 lineto
88.000000 345.000000 lineto
87.000000 345.000000 lineto
87.000000 335.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 334.000000 moveto
gsave
newpath
578.000000 334.000000 moveto
579.000000 334.000000 lineto
579.000000 344.000000 lineto
579.000000 345.000000 lineto
578.000000 345.000000 lineto
578.000000 335.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 344.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 345 def/wp$left 88 def/wp$right 578 def/wp$bottom 356 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 354.000000 moveto
(xorl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 354.000000 moveto
(%ebx,%ebx)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
270.000000 354.000000 moveto
(; movel #0,d0)
dup
stringwidth
pop
78
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 345.000000 moveto
gsave
newpath
87.000000 345.000000 moveto
88.000000 345.000000 lineto
88.000000 355.000000 lineto
88.000000 356.000000 lineto
87.000000 356.000000 lineto
87.000000 346.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 345.000000 moveto
gsave
newpath
578.000000 345.000000 moveto
579.000000 345.000000 lineto
579.000000 355.000000 lineto
579.000000 356.000000 lineto
578.000000 356.000000 lineto
578.000000 346.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 355.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 356 def/wp$left 88 def/wp$right 578 def/wp$bottom 367 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 365.000000 moveto
(movb)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 365.000000 moveto
(\(%edi\),%bl)
dup
stringwidth
pop
60
exch
sub
10
div
exch
0
exch
ashow
270.000000 365.000000 moveto
(; moveb a4@,d0)
dup
stringwidth
pop
84
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 356.000000 moveto
gsave
newpath
87.000000 356.000000 moveto
88.000000 356.000000 lineto
88.000000 366.000000 lineto
88.000000 367.000000 lineto
87.000000 367.000000 lineto
87.000000 357.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 356.000000 moveto
gsave
newpath
578.000000 356.000000 moveto
579.000000 356.000000 lineto
579.000000 366.000000 lineto
579.000000 367.000000 lineto
578.000000 367.000000 lineto
578.000000 357.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 366.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 367 def/wp$left 88 def/wp$right 578 def/wp$bottom 378 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 376.000000 moveto
(rorl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 376.000000 moveto
($0x10,%ebx)
dup
stringwidth
pop
60
exch
sub
10
div
exch
0
exch
ashow
270.000000 376.000000 moveto
(; swap d0)
dup
stringwidth
pop
54
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 367.000000 moveto
gsave
newpath
87.000000 367.000000 moveto
88.000000 367.000000 lineto
88.000000 377.000000 lineto
88.000000 378.000000 lineto
87.000000 378.000000 lineto
87.000000 368.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 367.000000 moveto
gsave
newpath
578.000000 367.000000 moveto
579.000000 367.000000 lineto
579.000000 377.000000 lineto
579.000000 378.000000 lineto
578.000000 378.000000 lineto
578.000000 368.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 377.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 378 def/wp$left 88 def/wp$right 578 def/wp$bottom 389 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 387.000000 moveto
(xorw)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 387.000000 moveto
(%bx,%bx)
dup
stringwidth
pop
42
exch
sub
7
div
exch
0
exch
ashow
270.000000 387.000000 moveto
(; clrw d0)
dup
stringwidth
pop
54
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 378.000000 moveto
gsave
newpath
87.000000 378.000000 moveto
88.000000 378.000000 lineto
88.000000 388.000000 lineto
88.000000 389.000000 lineto
87.000000 389.000000 lineto
87.000000 379.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 378.000000 moveto
gsave
newpath
578.000000 378.000000 moveto
579.000000 378.000000 lineto
579.000000 388.000000 lineto
579.000000 389.000000 lineto
578.000000 389.000000 lineto
578.000000 379.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 388.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 389 def/wp$left 88 def/wp$right 578 def/wp$bottom 400 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 398.000000 moveto
(rorl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 398.000000 moveto
($0x10,%ebx)
dup
stringwidth
pop
60
exch
sub
10
div
exch
0
exch
ashow
270.000000 398.000000 moveto
(; swap d0)
dup
stringwidth
pop
54
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 389.000000 moveto
gsave
newpath
87.000000 389.000000 moveto
88.000000 389.000000 lineto
88.000000 399.000000 lineto
88.000000 400.000000 lineto
87.000000 400.000000 lineto
87.000000 390.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 389.000000 moveto
gsave
newpath
578.000000 389.000000 moveto
579.000000 389.000000 lineto
579.000000 399.000000 lineto
579.000000 400.000000 lineto
578.000000 400.000000 lineto
578.000000 390.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 399.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 400 def/wp$left 88 def/wp$right 578 def/wp$bottom 411 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 409.000000 moveto
(shll)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 409.000000 moveto
($0x2,%ebx)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
270.000000 409.000000 moveto
(; asll #2,d0)
dup
stringwidth
pop
72
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 400.000000 moveto
gsave
newpath
87.000000 400.000000 moveto
88.000000 400.000000 lineto
88.000000 410.000000 lineto
88.000000 411.000000 lineto
87.000000 411.000000 lineto
87.000000 401.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 400.000000 moveto
gsave
newpath
578.000000 400.000000 moveto
579.000000 400.000000 lineto
579.000000 410.000000 lineto
579.000000 411.000000 lineto
578.000000 411.000000 lineto
578.000000 401.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 410.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 411 def/wp$left 88 def/wp$right 578 def/wp$bottom 422 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 420.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 420.000000 moveto
(_a5,%esi)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
270.000000 420.000000 moveto
(; lea a5@\(-13462\),a0)
dup
stringwidth
pop
120
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 411.000000 moveto
gsave
newpath
87.000000 411.000000 moveto
88.000000 411.000000 lineto
88.000000 421.000000 lineto
88.000000 422.000000 lineto
87.000000 422.000000 lineto
87.000000 412.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 411.000000 moveto
gsave
newpath
578.000000 411.000000 moveto
579.000000 411.000000 lineto
579.000000 421.000000 lineto
579.000000 422.000000 lineto
578.000000 422.000000 lineto
578.000000 412.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 421.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 422 def/wp$left 88 def/wp$right 578 def/wp$bottom 433 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 431.000000 moveto
(leal)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 431.000000 moveto
(0xffffcb6a\(%esi\),%edx)
dup
stringwidth
pop
126
exch
sub
21
div
exch
0
exch
ashow
87.000000 422.000000 moveto
gsave
newpath
87.000000 422.000000 moveto
88.000000 422.000000 lineto
88.000000 432.000000 lineto
88.000000 433.000000 lineto
87.000000 433.000000 lineto
87.000000 423.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 422.000000 moveto
gsave
newpath
578.000000 422.000000 moveto
579.000000 422.000000 lineto
579.000000 432.000000 lineto
579.000000 433.000000 lineto
578.000000 433.000000 lineto
578.000000 423.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 432.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 433 def/wp$left 88 def/wp$right 578 def/wp$bottom 444 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 442.000000 moveto
(addl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 442.000000 moveto
(%ebx,%edx)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
270.000000 442.000000 moveto
(; addal d0,a0)
dup
stringwidth
pop
78
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 433.000000 moveto
gsave
newpath
87.000000 433.000000 moveto
88.000000 433.000000 lineto
88.000000 443.000000 lineto
88.000000 444.000000 lineto
87.000000 444.000000 lineto
87.000000 434.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 433.000000 moveto
gsave
newpath
578.000000 433.000000 moveto
579.000000 433.000000 lineto
579.000000 443.000000 lineto
579.000000 444.000000 lineto
578.000000 444.000000 lineto
578.000000 434.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 443.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 444 def/wp$left 88 def/wp$right 578 def/wp$bottom 455 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 453.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 453.000000 moveto
(\(%edx\),%edx)
dup
stringwidth
pop
66
exch
sub
11
div
exch
0
exch
ashow
270.000000 453.000000 moveto
(; moveal a0@,a0)
dup
stringwidth
pop
90
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 444.000000 moveto
gsave
newpath
87.000000 444.000000 moveto
88.000000 444.000000 lineto
88.000000 454.000000 lineto
88.000000 455.000000 lineto
87.000000 455.000000 lineto
87.000000 445.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 444.000000 moveto
gsave
newpath
578.000000 444.000000 moveto
579.000000 444.000000 lineto
579.000000 454.000000 lineto
579.000000 455.000000 lineto
578.000000 455.000000 lineto
578.000000 445.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 454.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 455 def/wp$left 88 def/wp$right 578 def/wp$bottom 466 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 464.000000 moveto
(xorl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 464.000000 moveto
(%ebx,%ebx)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
270.000000 464.000000 moveto
(; movel #0,d0)
dup
stringwidth
pop
78
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 455.000000 moveto
gsave
newpath
87.000000 455.000000 moveto
88.000000 455.000000 lineto
88.000000 465.000000 lineto
88.000000 466.000000 lineto
87.000000 466.000000 lineto
87.000000 456.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 455.000000 moveto
gsave
newpath
578.000000 455.000000 moveto
579.000000 455.000000 lineto
579.000000 465.000000 lineto
579.000000 466.000000 lineto
578.000000 466.000000 lineto
578.000000 456.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 465.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 466 def/wp$left 88 def/wp$right 578 def/wp$bottom 477 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 475.000000 moveto
(movb)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 475.000000 moveto
(0x1\(%edi\),%bl)
dup
stringwidth
pop
78
exch
sub
13
div
exch
0
exch
ashow
270.000000 475.000000 moveto
(; moveb a4@\(1\),d0)
dup
stringwidth
pop
102
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 466.000000 moveto
gsave
newpath
87.000000 466.000000 moveto
88.000000 466.000000 lineto
88.000000 476.000000 lineto
88.000000 477.000000 lineto
87.000000 477.000000 lineto
87.000000 467.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 466.000000 moveto
gsave
newpath
578.000000 466.000000 moveto
579.000000 466.000000 lineto
579.000000 476.000000 lineto
579.000000 477.000000 lineto
578.000000 477.000000 lineto
578.000000 467.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 476.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 477 def/wp$left 88 def/wp$right 578 def/wp$bottom 488 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 486.000000 moveto
(bswap)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
162.000000 486.000000 moveto
(%edx)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
270.000000 486.000000 moveto
(; cmpw a0@,d0)
dup
stringwidth
pop
78
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 477.000000 moveto
gsave
newpath
87.000000 477.000000 moveto
88.000000 477.000000 lineto
88.000000 487.000000 lineto
88.000000 488.000000 lineto
87.000000 488.000000 lineto
87.000000 478.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 477.000000 moveto
gsave
newpath
578.000000 477.000000 moveto
579.000000 477.000000 lineto
579.000000 487.000000 lineto
579.000000 488.000000 lineto
578.000000 488.000000 lineto
578.000000 478.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 487.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 488 def/wp$left 88 def/wp$right 578 def/wp$bottom 499 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 497.000000 moveto
(movw)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 497.000000 moveto
(\(%edx\),%cx)
dup
stringwidth
pop
60
exch
sub
10
div
exch
0
exch
ashow
87.000000 488.000000 moveto
gsave
newpath
87.000000 488.000000 moveto
88.000000 488.000000 lineto
88.000000 498.000000 lineto
88.000000 499.000000 lineto
87.000000 499.000000 lineto
87.000000 489.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 488.000000 moveto
gsave
newpath
578.000000 488.000000 moveto
579.000000 488.000000 lineto
579.000000 498.000000 lineto
579.000000 499.000000 lineto
578.000000 499.000000 lineto
578.000000 489.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 498.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 499 def/wp$left 88 def/wp$right 578 def/wp$bottom 510 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 508.000000 moveto
(rorw)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 508.000000 moveto
($0x8,%cx)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
87.000000 499.000000 moveto
gsave
newpath
87.000000 499.000000 moveto
88.000000 499.000000 lineto
88.000000 509.000000 lineto
88.000000 510.000000 lineto
87.000000 510.000000 lineto
87.000000 500.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 499.000000 moveto
gsave
newpath
578.000000 499.000000 moveto
579.000000 499.000000 lineto
579.000000 509.000000 lineto
579.000000 510.000000 lineto
578.000000 510.000000 lineto
578.000000 500.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 509.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 510 def/wp$left 88 def/wp$right 578 def/wp$bottom 521 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 519.000000 moveto
(cmpw)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 519.000000 moveto
(%cx,%bx)
dup
stringwidth
pop
42
exch
sub
7
div
exch
0
exch
ashow
87.000000 510.000000 moveto
gsave
newpath
87.000000 510.000000 moveto
88.000000 510.000000 lineto
88.000000 520.000000 lineto
88.000000 521.000000 lineto
87.000000 521.000000 lineto
87.000000 511.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 510.000000 moveto
gsave
newpath
578.000000 510.000000 moveto
579.000000 510.000000 lineto
579.000000 520.000000 lineto
579.000000 521.000000 lineto
578.000000 521.000000 lineto
578.000000 511.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 520.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 521 def/wp$left 88 def/wp$right 578 def/wp$bottom 532 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 530.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 530.000000 moveto
(%edx,_a0)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
270.000000 530.000000 moveto
(; <spill dirty 68k)
dup
stringwidth
pop
108
exch
sub
3
div
exch
0
exch
32
exch
widthshow
87.000000 521.000000 moveto
gsave
newpath
87.000000 521.000000 moveto
88.000000 521.000000 lineto
88.000000 531.000000 lineto
88.000000 532.000000 lineto
87.000000 532.000000 lineto
87.000000 522.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 521.000000 moveto
gsave
newpath
578.000000 521.000000 moveto
579.000000 521.000000 lineto
579.000000 531.000000 lineto
579.000000 532.000000 lineto
578.000000 532.000000 lineto
578.000000 522.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 531.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 532 def/wp$left 88 def/wp$right 578 def/wp$bottom 543 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 541.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 541.000000 moveto
(%ebx,_d0)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
270.000000 541.000000 moveto
(;  registers back to memory>)
dup
stringwidth
pop
168
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 532.000000 moveto
gsave
newpath
87.000000 532.000000 moveto
88.000000 532.000000 lineto
88.000000 542.000000 lineto
88.000000 543.000000 lineto
87.000000 543.000000 lineto
87.000000 533.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 532.000000 moveto
gsave
newpath
578.000000 532.000000 moveto
579.000000 532.000000 lineto
579.000000 542.000000 lineto
579.000000 543.000000 lineto
578.000000 543.000000 lineto
578.000000 533.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 542.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 543 def/wp$left 88 def/wp$right 578 def/wp$bottom 554 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 552.000000 moveto
(jb)
dup
stringwidth
pop
12
exch
sub
2
div
exch
0
exch
ashow
162.000000 552.000000 moveto
(0x6fae0c)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
270.000000 552.000000 moveto
(; bcs 0x3fffee2)
dup
stringwidth
pop
90
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 543.000000 moveto
gsave
newpath
87.000000 543.000000 moveto
88.000000 543.000000 lineto
88.000000 553.000000 lineto
88.000000 554.000000 lineto
87.000000 554.000000 lineto
87.000000 544.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 543.000000 moveto
gsave
newpath
578.000000 543.000000 moveto
579.000000 543.000000 lineto
579.000000 553.000000 lineto
579.000000 554.000000 lineto
578.000000 554.000000 lineto
578.000000 544.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 553.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 554 def/wp$left 88 def/wp$right 578 def/wp$bottom 565 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 563.000000 moveto
(jmp)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
162.000000 563.000000 moveto
(0x6faf0c)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
270.000000 563.000000 moveto
(; <go to "fall through" code>)
dup
stringwidth
pop
174
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 565.000000 moveto
gsave
newpath
87.000000 565.000000 moveto
87.000000 565.000000 lineto
88.000000 565.000000 lineto
88.000000 566.000000 lineto
88.000000 566.000000 lineto
87.000000 566.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
87.000000 565.000000 moveto
87.000000 565.000000 lineto
88.000000 565.000000 lineto
88.000000 566.000000 lineto
88.000000 566.000000 lineto
87.000000 566.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
88.000000 565.000000 moveto
gsave
newpath
88.000000 565.000000 moveto
577.000000 565.000000 lineto
578.000000 565.000000 lineto
578.000000 566.000000 lineto
89.000000 566.000000 lineto
88.000000 566.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 565.000000 moveto
gsave
newpath
578.000000 565.000000 moveto
578.000000 565.000000 lineto
579.000000 565.000000 lineto
579.000000 566.000000 lineto
579.000000 566.000000 lineto
578.000000 566.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
578.000000 565.000000 moveto
578.000000 565.000000 lineto
579.000000 565.000000 lineto
579.000000 566.000000 lineto
579.000000 566.000000 lineto
578.000000 566.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
87.000000 554.000000 moveto
gsave
newpath
87.000000 554.000000 moveto
88.000000 554.000000 lineto
88.000000 564.000000 lineto
88.000000 565.000000 lineto
87.000000 565.000000 lineto
87.000000 555.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 554.000000 moveto
gsave
newpath
578.000000 554.000000 moveto
579.000000 554.000000 lineto
579.000000 564.000000 lineto
579.000000 565.000000 lineto
578.000000 565.000000 lineto
578.000000 555.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 6 6
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
252.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
463.000000 753.000000 moveto
(6)
dup
stringwidth
pop
5
exch
sub
1
div
exch
0
exch
ashow
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 73 def/wp$left 34 def/wp$right 524 def/wp$bottom 85 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
36.000000 82.000000 moveto
(Example 2 \(PageMaker\):)
dup
stringwidth
pop
109
exch
sub
2
div
exch
0
exch
32
exch
widthshow
33.000000 72.000000 moveto
gsave
newpath
33.000000 72.000000 moveto
33.000000 72.000000 lineto
34.000000 72.000000 lineto
34.000000 73.000000 lineto
34.000000 73.000000 lineto
33.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
33.000000 72.000000 moveto
33.000000 72.000000 lineto
34.000000 72.000000 lineto
34.000000 73.000000 lineto
34.000000 73.000000 lineto
33.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
34.000000 72.000000 moveto
gsave
newpath
34.000000 72.000000 moveto
523.000000 72.000000 lineto
524.000000 72.000000 lineto
524.000000 73.000000 lineto
35.000000 73.000000 lineto
34.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 72.000000 moveto
gsave
newpath
524.000000 72.000000 moveto
524.000000 72.000000 lineto
525.000000 72.000000 lineto
525.000000 73.000000 lineto
525.000000 73.000000 lineto
524.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
524.000000 72.000000 moveto
524.000000 72.000000 lineto
525.000000 72.000000 lineto
525.000000 73.000000 lineto
525.000000 73.000000 lineto
524.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
33.000000 73.000000 moveto
gsave
newpath
33.000000 73.000000 moveto
34.000000 73.000000 lineto
34.000000 84.000000 lineto
34.000000 85.000000 lineto
33.000000 85.000000 lineto
33.000000 74.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 73.000000 moveto
gsave
newpath
524.000000 73.000000 moveto
525.000000 73.000000 lineto
525.000000 84.000000 lineto
525.000000 85.000000 lineto
524.000000 85.000000 lineto
524.000000 74.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 84.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 85 def/wp$left 34 def/wp$right 524 def/wp$bottom 97 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
33.000000 85.000000 moveto
gsave
newpath
33.000000 85.000000 moveto
34.000000 85.000000 lineto
34.000000 96.000000 lineto
34.000000 97.000000 lineto
33.000000 97.000000 lineto
33.000000 86.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 85.000000 moveto
gsave
newpath
524.000000 85.000000 moveto
525.000000 85.000000 lineto
525.000000 96.000000 lineto
525.000000 97.000000 lineto
524.000000 97.000000 lineto
524.000000 86.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 96.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 97 def/wp$left 34 def/wp$right 524 def/wp$bottom 109 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
36.000000 106.000000 moveto
(680x0 code:)
dup
stringwidth
pop
51
exch
sub
1
div
exch
0
exch
32
exch
widthshow
33.000000 97.000000 moveto
gsave
newpath
33.000000 97.000000 moveto
34.000000 97.000000 lineto
34.000000 108.000000 lineto
34.000000 109.000000 lineto
33.000000 109.000000 lineto
33.000000 98.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 97.000000 moveto
gsave
newpath
524.000000 97.000000 moveto
525.000000 97.000000 lineto
525.000000 108.000000 lineto
525.000000 109.000000 lineto
524.000000 109.000000 lineto
524.000000 98.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 108.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 109 def/wp$left 34 def/wp$right 524 def/wp$bottom 121 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
33.000000 109.000000 moveto
gsave
newpath
33.000000 109.000000 moveto
34.000000 109.000000 lineto
34.000000 120.000000 lineto
34.000000 121.000000 lineto
33.000000 121.000000 lineto
33.000000 110.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 109.000000 moveto
gsave
newpath
524.000000 109.000000 moveto
525.000000 109.000000 lineto
525.000000 120.000000 lineto
525.000000 121.000000 lineto
524.000000 121.000000 lineto
524.000000 110.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 120.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 121 def/wp$left 34 def/wp$right 524 def/wp$bottom 132 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 130.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(movel)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
108.000000 130.000000 moveto
(#0,d2)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
33.000000 121.000000 moveto
gsave
newpath
33.000000 121.000000 moveto
34.000000 121.000000 lineto
34.000000 131.000000 lineto
34.000000 132.000000 lineto
33.000000 132.000000 lineto
33.000000 122.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 121.000000 moveto
gsave
newpath
524.000000 121.000000 moveto
525.000000 121.000000 lineto
525.000000 131.000000 lineto
525.000000 132.000000 lineto
524.000000 132.000000 lineto
524.000000 122.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 131.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 132 def/wp$left 34 def/wp$right 524 def/wp$bottom 143 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 141.000000 moveto
(moveb)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
108.000000 141.000000 moveto
(d0,d2)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
33.000000 132.000000 moveto
gsave
newpath
33.000000 132.000000 moveto
34.000000 132.000000 lineto
34.000000 142.000000 lineto
34.000000 143.000000 lineto
33.000000 143.000000 lineto
33.000000 133.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 132.000000 moveto
gsave
newpath
524.000000 132.000000 moveto
525.000000 132.000000 lineto
525.000000 142.000000 lineto
525.000000 143.000000 lineto
524.000000 143.000000 lineto
524.000000 133.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 142.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 143 def/wp$left 34 def/wp$right 524 def/wp$bottom 154 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 152.000000 moveto
(lslw)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 152.000000 moveto
(#8,d0)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
33.000000 143.000000 moveto
gsave
newpath
33.000000 143.000000 moveto
34.000000 143.000000 lineto
34.000000 153.000000 lineto
34.000000 154.000000 lineto
33.000000 154.000000 lineto
33.000000 144.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 143.000000 moveto
gsave
newpath
524.000000 143.000000 moveto
525.000000 143.000000 lineto
525.000000 153.000000 lineto
525.000000 154.000000 lineto
524.000000 154.000000 lineto
524.000000 144.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 153.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 154 def/wp$left 34 def/wp$right 524 def/wp$bottom 165 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 163.000000 moveto
(orw)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
108.000000 163.000000 moveto
(d0,d2)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
33.000000 154.000000 moveto
gsave
newpath
33.000000 154.000000 moveto
34.000000 154.000000 lineto
34.000000 164.000000 lineto
34.000000 165.000000 lineto
33.000000 165.000000 lineto
33.000000 155.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 154.000000 moveto
gsave
newpath
524.000000 154.000000 moveto
525.000000 154.000000 lineto
525.000000 164.000000 lineto
525.000000 165.000000 lineto
524.000000 165.000000 lineto
524.000000 155.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 164.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 165 def/wp$left 34 def/wp$right 524 def/wp$bottom 176 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 174.000000 moveto
(movel)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
108.000000 174.000000 moveto
(d2,d0)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
33.000000 165.000000 moveto
gsave
newpath
33.000000 165.000000 moveto
34.000000 165.000000 lineto
34.000000 175.000000 lineto
34.000000 176.000000 lineto
33.000000 176.000000 lineto
33.000000 166.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 165.000000 moveto
gsave
newpath
524.000000 165.000000 moveto
525.000000 165.000000 lineto
525.000000 175.000000 lineto
525.000000 176.000000 lineto
524.000000 176.000000 lineto
524.000000 166.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 175.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 176 def/wp$left 34 def/wp$right 524 def/wp$bottom 187 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 185.000000 moveto
(swap)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 185.000000 moveto
(d2)
dup
stringwidth
pop
12
exch
sub
2
div
exch
0
exch
ashow
33.000000 176.000000 moveto
gsave
newpath
33.000000 176.000000 moveto
34.000000 176.000000 lineto
34.000000 186.000000 lineto
34.000000 187.000000 lineto
33.000000 187.000000 lineto
33.000000 177.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 176.000000 moveto
gsave
newpath
524.000000 176.000000 moveto
525.000000 176.000000 lineto
525.000000 186.000000 lineto
525.000000 187.000000 lineto
524.000000 187.000000 lineto
524.000000 177.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 186.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 187 def/wp$left 34 def/wp$right 524 def/wp$bottom 198 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 196.000000 moveto
(orl)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
108.000000 196.000000 moveto
(d2,d0)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
33.000000 187.000000 moveto
gsave
newpath
33.000000 187.000000 moveto
34.000000 187.000000 lineto
34.000000 197.000000 lineto
34.000000 198.000000 lineto
33.000000 198.000000 lineto
33.000000 188.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 187.000000 moveto
gsave
newpath
524.000000 187.000000 moveto
525.000000 187.000000 lineto
525.000000 197.000000 lineto
525.000000 198.000000 lineto
524.000000 198.000000 lineto
524.000000 188.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 197.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 198 def/wp$left 34 def/wp$right 524 def/wp$bottom 209 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 207.000000 moveto
(movel)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
108.000000 207.000000 moveto
(a0,d2)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
33.000000 198.000000 moveto
gsave
newpath
33.000000 198.000000 moveto
34.000000 198.000000 lineto
34.000000 208.000000 lineto
34.000000 209.000000 lineto
33.000000 209.000000 lineto
33.000000 199.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 198.000000 moveto
gsave
newpath
524.000000 198.000000 moveto
525.000000 198.000000 lineto
525.000000 208.000000 lineto
525.000000 209.000000 lineto
524.000000 209.000000 lineto
524.000000 199.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 208.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 209 def/wp$left 34 def/wp$right 524 def/wp$bottom 220 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 218.000000 moveto
(lsrb)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 218.000000 moveto
(#1,d2)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
33.000000 209.000000 moveto
gsave
newpath
33.000000 209.000000 moveto
34.000000 209.000000 lineto
34.000000 219.000000 lineto
34.000000 220.000000 lineto
33.000000 220.000000 lineto
33.000000 210.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 209.000000 moveto
gsave
newpath
524.000000 209.000000 moveto
525.000000 209.000000 lineto
525.000000 219.000000 lineto
525.000000 220.000000 lineto
524.000000 220.000000 lineto
524.000000 210.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 219.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 220 def/wp$left 34 def/wp$right 524 def/wp$bottom 231 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 229.000000 moveto
(bcc)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
108.000000 229.000000 moveto
(0x3fffed4)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
33.000000 220.000000 moveto
gsave
newpath
33.000000 220.000000 moveto
34.000000 220.000000 lineto
34.000000 230.000000 lineto
34.000000 231.000000 lineto
33.000000 231.000000 lineto
33.000000 221.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 220.000000 moveto
gsave
newpath
524.000000 220.000000 moveto
525.000000 220.000000 lineto
525.000000 230.000000 lineto
525.000000 231.000000 lineto
524.000000 231.000000 lineto
524.000000 221.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 230.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 231 def/wp$left 34 def/wp$right 524 def/wp$bottom 243 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
33.000000 231.000000 moveto
gsave
newpath
33.000000 231.000000 moveto
34.000000 231.000000 lineto
34.000000 242.000000 lineto
34.000000 243.000000 lineto
33.000000 243.000000 lineto
33.000000 232.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 231.000000 moveto
gsave
newpath
524.000000 231.000000 moveto
525.000000 231.000000 lineto
525.000000 242.000000 lineto
525.000000 243.000000 lineto
524.000000 243.000000 lineto
524.000000 232.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 242.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 243 def/wp$left 34 def/wp$right 524 def/wp$bottom 255 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
36.000000 252.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(80x86 code:)
dup
stringwidth
pop
51
exch
sub
1
div
exch
0
exch
32
exch
widthshow
33.000000 243.000000 moveto
gsave
newpath
33.000000 243.000000 moveto
34.000000 243.000000 lineto
34.000000 254.000000 lineto
34.000000 255.000000 lineto
33.000000 255.000000 lineto
33.000000 244.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 243.000000 moveto
gsave
newpath
524.000000 243.000000 moveto
525.000000 243.000000 lineto
525.000000 254.000000 lineto
525.000000 255.000000 lineto
524.000000 255.000000 lineto
524.000000 244.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 254.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 255 def/wp$left 34 def/wp$right 524 def/wp$bottom 267 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
33.000000 255.000000 moveto
gsave
newpath
33.000000 255.000000 moveto
34.000000 255.000000 lineto
34.000000 266.000000 lineto
34.000000 267.000000 lineto
33.000000 267.000000 lineto
33.000000 256.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 255.000000 moveto
gsave
newpath
524.000000 255.000000 moveto
525.000000 255.000000 lineto
525.000000 266.000000 lineto
525.000000 267.000000 lineto
524.000000 267.000000 lineto
524.000000 256.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 266.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 267 def/wp$left 34 def/wp$right 524 def/wp$bottom 278 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 276.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(xorl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 276.000000 moveto
(%ebx,%ebx)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
216.000000 276.000000 moveto
(; movel #0,d2)
dup
stringwidth
pop
78
exch
sub
2
div
exch
0
exch
32
exch
widthshow
33.000000 267.000000 moveto
gsave
newpath
33.000000 267.000000 moveto
34.000000 267.000000 lineto
34.000000 277.000000 lineto
34.000000 278.000000 lineto
33.000000 278.000000 lineto
33.000000 268.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 267.000000 moveto
gsave
newpath
524.000000 267.000000 moveto
525.000000 267.000000 lineto
525.000000 277.000000 lineto
525.000000 278.000000 lineto
524.000000 278.000000 lineto
524.000000 268.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 277.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 278 def/wp$left 34 def/wp$right 524 def/wp$bottom 289 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 287.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 287.000000 moveto
(_d0,%edx)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
216.000000 287.000000 moveto
(; moveb d0,d2)
dup
stringwidth
pop
78
exch
sub
2
div
exch
0
exch
32
exch
widthshow
33.000000 278.000000 moveto
gsave
newpath
33.000000 278.000000 moveto
34.000000 278.000000 lineto
34.000000 288.000000 lineto
34.000000 289.000000 lineto
33.000000 289.000000 lineto
33.000000 279.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 278.000000 moveto
gsave
newpath
524.000000 278.000000 moveto
525.000000 278.000000 lineto
525.000000 288.000000 lineto
525.000000 289.000000 lineto
524.000000 289.000000 lineto
524.000000 279.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 288.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 289 def/wp$left 34 def/wp$right 524 def/wp$bottom 300 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 298.000000 moveto
(movb)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 298.000000 moveto
(%dl,%bl)
dup
stringwidth
pop
42
exch
sub
7
div
exch
0
exch
ashow
33.000000 289.000000 moveto
gsave
newpath
33.000000 289.000000 moveto
34.000000 289.000000 lineto
34.000000 299.000000 lineto
34.000000 300.000000 lineto
33.000000 300.000000 lineto
33.000000 290.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 289.000000 moveto
gsave
newpath
524.000000 289.000000 moveto
525.000000 289.000000 lineto
525.000000 299.000000 lineto
525.000000 300.000000 lineto
524.000000 300.000000 lineto
524.000000 290.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 299.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 300 def/wp$left 34 def/wp$right 524 def/wp$bottom 311 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 309.000000 moveto
(shlw)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 309.000000 moveto
($0x8,%dx)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
216.000000 309.000000 moveto
(; lslw #8,d0)
dup
stringwidth
pop
72
exch
sub
2
div
exch
0
exch
32
exch
widthshow
33.000000 300.000000 moveto
gsave
newpath
33.000000 300.000000 moveto
34.000000 300.000000 lineto
34.000000 310.000000 lineto
34.000000 311.000000 lineto
33.000000 311.000000 lineto
33.000000 301.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 300.000000 moveto
gsave
newpath
524.000000 300.000000 moveto
525.000000 300.000000 lineto
525.000000 310.000000 lineto
525.000000 311.000000 lineto
524.000000 311.000000 lineto
524.000000 301.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 310.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 311 def/wp$left 34 def/wp$right 524 def/wp$bottom 322 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 320.000000 moveto
(orw)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
108.000000 320.000000 moveto
(%dx,%bx)
dup
stringwidth
pop
42
exch
sub
7
div
exch
0
exch
ashow
216.000000 320.000000 moveto
(; orw d0,d2)
dup
stringwidth
pop
66
exch
sub
2
div
exch
0
exch
32
exch
widthshow
33.000000 311.000000 moveto
gsave
newpath
33.000000 311.000000 moveto
34.000000 311.000000 lineto
34.000000 321.000000 lineto
34.000000 322.000000 lineto
33.000000 322.000000 lineto
33.000000 312.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 311.000000 moveto
gsave
newpath
524.000000 311.000000 moveto
525.000000 311.000000 lineto
525.000000 321.000000 lineto
525.000000 322.000000 lineto
524.000000 322.000000 lineto
524.000000 312.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 321.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 322 def/wp$left 34 def/wp$right 524 def/wp$bottom 333 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 331.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 331.000000 moveto
(%ebx,%edx)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
216.000000 331.000000 moveto
(; movel d2,d0)
dup
stringwidth
pop
78
exch
sub
2
div
exch
0
exch
32
exch
widthshow
33.000000 322.000000 moveto
gsave
newpath
33.000000 322.000000 moveto
34.000000 322.000000 lineto
34.000000 332.000000 lineto
34.000000 333.000000 lineto
33.000000 333.000000 lineto
33.000000 323.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 322.000000 moveto
gsave
newpath
524.000000 322.000000 moveto
525.000000 322.000000 lineto
525.000000 332.000000 lineto
525.000000 333.000000 lineto
524.000000 333.000000 lineto
524.000000 323.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 332.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 333 def/wp$left 34 def/wp$right 524 def/wp$bottom 344 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 342.000000 moveto
(rorl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 342.000000 moveto
($0x10,%ebx)
dup
stringwidth
pop
60
exch
sub
10
div
exch
0
exch
ashow
216.000000 342.000000 moveto
(; swap d2)
dup
stringwidth
pop
54
exch
sub
2
div
exch
0
exch
32
exch
widthshow
33.000000 333.000000 moveto
gsave
newpath
33.000000 333.000000 moveto
34.000000 333.000000 lineto
34.000000 343.000000 lineto
34.000000 344.000000 lineto
33.000000 344.000000 lineto
33.000000 334.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 333.000000 moveto
gsave
newpath
524.000000 333.000000 moveto
525.000000 333.000000 lineto
525.000000 343.000000 lineto
525.000000 344.000000 lineto
524.000000 344.000000 lineto
524.000000 334.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 343.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 344 def/wp$left 34 def/wp$right 524 def/wp$bottom 355 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 353.000000 moveto
(orl)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
108.000000 353.000000 moveto
(%ebx,%edx)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
216.000000 353.000000 moveto
(; orl d2,d0)
dup
stringwidth
pop
66
exch
sub
2
div
exch
0
exch
32
exch
widthshow
33.000000 344.000000 moveto
gsave
newpath
33.000000 344.000000 moveto
34.000000 344.000000 lineto
34.000000 354.000000 lineto
34.000000 355.000000 lineto
33.000000 355.000000 lineto
33.000000 345.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 344.000000 moveto
gsave
newpath
524.000000 344.000000 moveto
525.000000 344.000000 lineto
525.000000 354.000000 lineto
525.000000 355.000000 lineto
524.000000 355.000000 lineto
524.000000 345.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 354.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 355 def/wp$left 34 def/wp$right 524 def/wp$bottom 366 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 364.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 364.000000 moveto
(_a0,%ecx)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
216.000000 364.000000 moveto
(; movel a0,d2)
dup
stringwidth
pop
78
exch
sub
2
div
exch
0
exch
32
exch
widthshow
33.000000 355.000000 moveto
gsave
newpath
33.000000 355.000000 moveto
34.000000 355.000000 lineto
34.000000 365.000000 lineto
34.000000 366.000000 lineto
33.000000 366.000000 lineto
33.000000 356.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 355.000000 moveto
gsave
newpath
524.000000 355.000000 moveto
525.000000 355.000000 lineto
525.000000 365.000000 lineto
525.000000 366.000000 lineto
524.000000 366.000000 lineto
524.000000 356.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 365.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 366 def/wp$left 34 def/wp$right 524 def/wp$bottom 377 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 375.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 375.000000 moveto
(%ecx,%ebx)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
33.000000 366.000000 moveto
gsave
newpath
33.000000 366.000000 moveto
34.000000 366.000000 lineto
34.000000 376.000000 lineto
34.000000 377.000000 lineto
33.000000 377.000000 lineto
33.000000 367.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 366.000000 moveto
gsave
newpath
524.000000 366.000000 moveto
525.000000 366.000000 lineto
525.000000 376.000000 lineto
525.000000 377.000000 lineto
524.000000 377.000000 lineto
524.000000 367.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 376.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 377 def/wp$left 34 def/wp$right 524 def/wp$bottom 388 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 386.000000 moveto
(shrb)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 386.000000 moveto
(%bl)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
216.000000 386.000000 moveto
(; lsrb #1,d2)
dup
stringwidth
pop
72
exch
sub
2
div
exch
0
exch
32
exch
widthshow
33.000000 377.000000 moveto
gsave
newpath
33.000000 377.000000 moveto
34.000000 377.000000 lineto
34.000000 387.000000 lineto
34.000000 388.000000 lineto
33.000000 388.000000 lineto
33.000000 378.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 377.000000 moveto
gsave
newpath
524.000000 377.000000 moveto
525.000000 377.000000 lineto
525.000000 387.000000 lineto
525.000000 388.000000 lineto
524.000000 388.000000 lineto
524.000000 378.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 387.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 388 def/wp$left 34 def/wp$right 524 def/wp$bottom 399 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 397.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 397.000000 moveto
(%ebx,_d2)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
216.000000 397.000000 moveto
(; <spill dirty 68k)
dup
stringwidth
pop
108
exch
sub
3
div
exch
0
exch
32
exch
widthshow
33.000000 388.000000 moveto
gsave
newpath
33.000000 388.000000 moveto
34.000000 388.000000 lineto
34.000000 398.000000 lineto
34.000000 399.000000 lineto
33.000000 399.000000 lineto
33.000000 389.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 388.000000 moveto
gsave
newpath
524.000000 388.000000 moveto
525.000000 388.000000 lineto
525.000000 398.000000 lineto
525.000000 399.000000 lineto
524.000000 399.000000 lineto
524.000000 389.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 398.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 399 def/wp$left 34 def/wp$right 524 def/wp$bottom 410 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 408.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 408.000000 moveto
(%edx,_d0)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
216.000000 408.000000 moveto
(;  registers back to memory>)
dup
stringwidth
pop
168
exch
sub
5
div
exch
0
exch
32
exch
widthshow
33.000000 399.000000 moveto
gsave
newpath
33.000000 399.000000 moveto
34.000000 399.000000 lineto
34.000000 409.000000 lineto
34.000000 410.000000 lineto
33.000000 410.000000 lineto
33.000000 400.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 399.000000 moveto
gsave
newpath
524.000000 399.000000 moveto
525.000000 399.000000 lineto
525.000000 409.000000 lineto
525.000000 410.000000 lineto
524.000000 410.000000 lineto
524.000000 400.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 409.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 410 def/wp$left 34 def/wp$right 524 def/wp$bottom 421 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 419.000000 moveto
(jae)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
108.000000 419.000000 moveto
(0x3b734c)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
216.000000 419.000000 moveto
(; bcc 0x3fffed4)
dup
stringwidth
pop
90
exch
sub
2
div
exch
0
exch
32
exch
widthshow
33.000000 410.000000 moveto
gsave
newpath
33.000000 410.000000 moveto
34.000000 410.000000 lineto
34.000000 420.000000 lineto
34.000000 421.000000 lineto
33.000000 421.000000 lineto
33.000000 411.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 410.000000 moveto
gsave
newpath
524.000000 410.000000 moveto
525.000000 410.000000 lineto
525.000000 420.000000 lineto
525.000000 421.000000 lineto
524.000000 421.000000 lineto
524.000000 411.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 420.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 421 def/wp$left 34 def/wp$right 524 def/wp$bottom 432 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 430.000000 moveto
(jmp)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
108.000000 430.000000 moveto
(0x43d48c)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
216.000000 430.000000 moveto
(; <go to "fall through" 68k code>)
dup
stringwidth
pop
198
exch
sub
6
div
exch
0
exch
32
exch
widthshow
33.000000 421.000000 moveto
gsave
newpath
33.000000 421.000000 moveto
34.000000 421.000000 lineto
34.000000 431.000000 lineto
34.000000 432.000000 lineto
33.000000 432.000000 lineto
33.000000 422.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 421.000000 moveto
gsave
newpath
524.000000 421.000000 moveto
525.000000 421.000000 lineto
525.000000 431.000000 lineto
525.000000 432.000000 lineto
524.000000 432.000000 lineto
524.000000 422.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 431.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 432 def/wp$left 34 def/wp$right 524 def/wp$bottom 443 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
33.000000 432.000000 moveto
gsave
newpath
33.000000 432.000000 moveto
34.000000 432.000000 lineto
34.000000 442.000000 lineto
34.000000 443.000000 lineto
33.000000 443.000000 lineto
33.000000 433.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 432.000000 moveto
gsave
newpath
524.000000 432.000000 moveto
525.000000 432.000000 lineto
525.000000 442.000000 lineto
525.000000 443.000000 lineto
524.000000 443.000000 lineto
524.000000 433.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 442.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 443 def/wp$left 34 def/wp$right 524 def/wp$bottom 457 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
187.000000 453.000000 moveto
(Palatino-Roman)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Figure 3.  680x0 -> 80x86 examples)
dup
stringwidth
pop
184
exch
sub
6
div
exch
0
exch
32
exch
widthshow
33.000000 457.000000 moveto
gsave
newpath
33.000000 457.000000 moveto
33.000000 457.000000 lineto
34.000000 457.000000 lineto
34.000000 458.000000 lineto
34.000000 458.000000 lineto
33.000000 458.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
33.000000 457.000000 moveto
33.000000 457.000000 lineto
34.000000 457.000000 lineto
34.000000 458.000000 lineto
34.000000 458.000000 lineto
33.000000 458.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
34.000000 457.000000 moveto
gsave
newpath
34.000000 457.000000 moveto
523.000000 457.000000 lineto
524.000000 457.000000 lineto
524.000000 458.000000 lineto
35.000000 458.000000 lineto
34.000000 458.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 457.000000 moveto
gsave
newpath
524.000000 457.000000 moveto
524.000000 457.000000 lineto
525.000000 457.000000 lineto
525.000000 458.000000 lineto
525.000000 458.000000 lineto
524.000000 458.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
524.000000 457.000000 moveto
524.000000 457.000000 lineto
525.000000 457.000000 lineto
525.000000 458.000000 lineto
525.000000 458.000000 lineto
524.000000 458.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
33.000000 443.000000 moveto
gsave
newpath
33.000000 443.000000 moveto
34.000000 443.000000 lineto
34.000000 456.000000 lineto
34.000000 457.000000 lineto
33.000000 457.000000 lineto
33.000000 444.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 443.000000 moveto
gsave
newpath
524.000000 443.000000 moveto
525.000000 443.000000 lineto
525.000000 456.000000 lineto
525.000000 457.000000 lineto
524.000000 457.000000 lineto
524.000000 444.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
36.000000 484.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Graphics)
dup
stringwidth
pop
53
exch
sub
8
div
exch
0
exch
ashow
54.000000 503.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(SVGA Graphics)
dup
stringwidth
pop
89
exch
sub
1
div
exch
0
exch
32
exch
widthshow
36.000000 516.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(The DOS world is one of standards.  )
dup
stringwidth
pop
163
exch
sub
8
div
exch
0
exch
32
exch
widthshow
(Palatino-Italic)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Many)
dup
stringwidth
pop
25
exch
sub
4
div
exch
0
exch
ashow
36.000000 528.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(standards.  Standards made by engineers who)
dup
stringwidth
pop
205
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 540.000000 moveto
(were even more short-sighted than the folks who)
dup
stringwidth
pop
218
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 552.000000 moveto
(brought you ROM85, only to be replaced by)
dup
stringwidth
pop
195
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 564.000000 moveto
(SysEnvirons which was then replaced by Gestalt.)
dup
stringwidth
pop
218
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 576.000000 moveto
(The first color graphics adapter for the PC \(CGA\))
dup
stringwidth
pop
218
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 588.000000 moveto
(was replaced with EGA, which was then replaced)
dup
stringwidth
pop
220
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 600.000000 moveto
(by VGA, which eventually gave way to several)
dup
stringwidth
pop
208
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 612.000000 moveto
(different Super Video Graphics Array \(SVGA\))
dup
stringwidth
pop
205
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 624.000000 moveto
(cards.)
dup
stringwidth
pop
27
exch
sub
6
div
exch
0
exch
ashow
36.000000 648.000000 moveto
(SVGA cards have a couple of properties that make)
dup
stringwidth
pop
224
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 660.000000 moveto
(them less than perfect targets for the output of)
dup
stringwidth
pop
205
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 672.000000 moveto
(Macintosh emulators.  First, the default is for)
dup
stringwidth
pop
199
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 684.000000 moveto
(SVGA's video memory to only be mapped into the)
dup
stringwidth
pop
224
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 696.000000 moveto
(PC address space through a 64k window \(or)
dup
stringwidth
pop
196
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 708.000000 moveto
(bank\).  If you want to display 640x480x8 bits you)
dup
stringwidth
pop
217
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 477.000000 moveto
(need to write 64k of information to the 64k screen)
dup
stringwidth
pop
220
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 489.000000 moveto
(address range, then tell the video card that you)
dup
stringwidth
pop
209
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 501.000000 moveto
(want that same address to represent a different)
dup
stringwidth
pop
209
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 513.000000 moveto
(64k chunk of the screen, then you write to that)
dup
stringwidth
pop
205
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 525.000000 moveto
(address range again, then you switch banks again,)
dup
stringwidth
pop
223
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 537.000000 moveto
(and so forth.)
dup
stringwidth
pop
56
exch
sub
2
div
exch
0
exch
32
exch
widthshow
297.000000 561.000000 moveto
(The second major complication is that under)
dup
stringwidth
pop
197
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 573.000000 moveto
(DPMI, the address space that contains the SVGA)
dup
stringwidth
pop
216
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 585.000000 moveto
(video memory is not in the same address space)
dup
stringwidth
pop
209
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 597.000000 moveto
(that a 32-bit application uses.  For those of you)
dup
stringwidth
pop
206
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 609.000000 moveto
(used to programming in a flat address space, it)
dup
stringwidth
pop
208
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 621.000000 moveto
(might be hard to believe that you need special)
dup
stringwidth
pop
204
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 633.000000 moveto
(machine language address space overriding)
dup
stringwidth
pop
195
exch
sub
4
div
exch
0
exch
32
exch
widthshow
297.000000 645.000000 moveto
(prefixes to access screen memory, but under DPMI)
dup
stringwidth
pop
225
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 657.000000 moveto
(0.9 \(which is the version of DPMI that Microsoft)
dup
stringwidth
pop
213
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 669.000000 moveto
(supports; we wouldn't have to do this under 1.0\))
dup
stringwidth
pop
216
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 681.000000 moveto
("selector" overrides really are necessary.)
dup
stringwidth
pop
178
exch
sub
4
div
exch
0
exch
32
exch
widthshow
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 7 7
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
306.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
517.000000 753.000000 moveto
(7)
dup
stringwidth
pop
5
exch
sub
1
div
exch
0
exch
ashow
108.000000 88.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Blitter Overview)
dup
stringwidth
pop
92
exch
sub
1
div
exch
0
exch
32
exch
widthshow
90.000000 101.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(A Region is a data structure that describes a set of)
dup
stringwidth
pop
220
exch
sub
10
div
exch
0
exch
32
exch
widthshow
90.000000 113.000000 moveto
(pixels.  Regions can be created by the application)
dup
stringwidth
pop
217
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 125.000000 moveto
(by calling various MacOS toolbox routines.  In)
dup
stringwidth
pop
205
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 137.000000 moveto
(addition the toolbox routines themselves)
dup
stringwidth
pop
181
exch
sub
4
div
exch
0
exch
32
exch
widthshow
90.000000 149.000000 moveto
(sometimes create Regions for their own purposes.)
dup
stringwidth
pop
221
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 173.000000 moveto
(A blitter is a set of software or hardware which)
dup
stringwidth
pop
209
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 185.000000 moveto
(takes sets of bits, representing pixels, and)
dup
stringwidth
pop
183
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 197.000000 moveto
(combines them with other sets of bits in a variety)
dup
stringwidth
pop
217
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 209.000000 moveto
(of different ways.  A Region blitter is a blitter that)
dup
stringwidth
pop
220
exch
sub
10
div
exch
0
exch
32
exch
widthshow
90.000000 221.000000 moveto
(processes pixels by Regions \(rather than by)
dup
stringwidth
pop
191
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 233.000000 moveto
(rectangles or rectangle lists\).)
dup
stringwidth
pop
126
exch
sub
3
div
exch
0
exch
32
exch
widthshow
108.000000 252.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(A Simple Blitter)
dup
stringwidth
pop
90
exch
sub
2
div
exch
0
exch
32
exch
widthshow
90.000000 265.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(One way to write a simple Region blitter is to start)
dup
stringwidth
pop
223
exch
sub
10
div
exch
0
exch
32
exch
widthshow
90.000000 277.000000 moveto
(with a subroutine that parses the start/stop pairs)
dup
stringwidth
pop
218
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 289.000000 moveto
(of a Region scanline and draws the corresponding)
dup
stringwidth
pop
222
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 301.000000 moveto
(pixels.  This subroutine is then called once for each)
dup
stringwidth
pop
225
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 313.000000 moveto
(row of pixels to be displayed.)
dup
stringwidth
pop
131
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 337.000000 moveto
(Unfortunately, this approach is slow since each)
dup
stringwidth
pop
209
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 349.000000 moveto
(scanline gets re-parsed every time it is drawn.  The)
dup
stringwidth
pop
225
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 361.000000 moveto
(Region for a 300 pixel tall rectangle consists of a)
dup
stringwidth
pop
212
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 373.000000 moveto
(single scanline with a repeat count of "300"; this)
dup
stringwidth
pop
211
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 385.000000 moveto
("simple Region blitter" will parse that scanline 300)
dup
stringwidth
pop
222
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 397.000000 moveto
(times! That's a lot of redundant work.)
dup
stringwidth
pop
167
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 421.000000 moveto
(There are many possible ways to get away with)
dup
stringwidth
pop
211
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 433.000000 moveto
(parsing each scanline only once.  One approach is)
dup
stringwidth
pop
220
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 445.000000 moveto
(to convert the start/stop pairs into a bit mask)
dup
stringwidth
pop
201
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 457.000000 moveto
(where the bits in the mask correspond to the bits)
dup
stringwidth
pop
215
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 469.000000 moveto
(in the target bitmap that are to be changed.  The)
dup
stringwidth
pop
212
exch
sub
10
div
exch
0
exch
32
exch
widthshow
90.000000 481.000000 moveto
(inner blitting loop then becomes an exercise in)
dup
stringwidth
pop
206
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 493.000000 moveto
(bitwise arithmetic.  In C, such a loop might look)
dup
stringwidth
pop
213
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 505.000000 moveto
(something like this:)
dup
stringwidth
pop
87
exch
sub
2
div
exch
0
exch
32
exch
widthshow
90.000000 528.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(for \(x = left; x < right; x++\))
dup
stringwidth
pop
180
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 539.000000 moveto
(    dst[x] = \(dst[x] & ~mask[x]\))
dup
stringwidth
pop
192
exch
sub
8
div
exch
0
exch
32
exch
widthshow
126.000000 550.000000 moveto
(| \(pattern_value & mask[x]\);)
dup
stringwidth
pop
168
exch
sub
3
div
exch
0
exch
32
exch
widthshow
351.000000 92.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(That's not bad, but we can do better.)
dup
stringwidth
pop
161
exch
sub
7
div
exch
0
exch
32
exch
widthshow
369.000000 111.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(A Dynamically Recompiling Blitter)
dup
stringwidth
pop
195
exch
sub
3
div
exch
0
exch
32
exch
widthshow
351.000000 124.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Using an explicit bit mask array is unnecessarily)
dup
stringwidth
pop
214
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 136.000000 moveto
(slow in the common case of filling a rectangle.  For)
dup
stringwidth
pop
224
exch
sub
10
div
exch
0
exch
32
exch
widthshow
351.000000 148.000000 moveto
(a rectangular Region, mask[x] is usually all one)
dup
stringwidth
pop
210
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 160.000000 moveto
(bits, making the bit munging a waste of time.  And)
dup
stringwidth
pop
225
exch
sub
10
div
exch
0
exch
32
exch
widthshow
351.000000 172.000000 moveto
(even when the masks are never solid \(e.g. when)
dup
stringwidth
pop
212
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 184.000000 moveto
(drawing a thin vertical line\), this technique is still)
dup
stringwidth
pop
219
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 196.000000 moveto
(unnecessarily slow.  As it turns out, even the)
dup
stringwidth
pop
198
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 208.000000 moveto
(cycles the CPU spends loading mask bits from)
dup
stringwidth
pop
205
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 220.000000 moveto
(memory are unnecessary.  Furthermore, even if we)
dup
stringwidth
pop
226
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 232.000000 moveto
(were satisfied with the level of performance that C)
dup
stringwidth
pop
224
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 244.000000 moveto
(code like the above provides, we couldn't use it on)
dup
stringwidth
pop
224
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 256.000000 moveto
(a stock SVGA system because it wouldn't know)
dup
stringwidth
pop
211
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 268.000000 moveto
(how to access the SVGA portion of memory.)
dup
stringwidth
pop
197
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 292.000000 moveto
(Executor's blitter uses the techniques of partial)
dup
stringwidth
pop
206
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 304.000000 moveto
(evaluation and dynamic code generation to)
dup
stringwidth
pop
192
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 316.000000 moveto
(eliminate redundant work and also give us access)
dup
stringwidth
pop
220
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 328.000000 moveto
(to SVGA memory.  On the 80x86 each scanline is)
dup
stringwidth
pop
215
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 340.000000 moveto
(quickly translated into executable code, and that)
dup
stringwidth
pop
215
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 352.000000 moveto
(code gets executed once each time the scanline)
dup
stringwidth
pop
206
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 364.000000 moveto
(needs to be drawn.  On non-80x86 platforms, each)
dup
stringwidth
pop
222
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 376.000000 moveto
(scanline is compiled into threaded code which is)
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 388.000000 moveto
(executed by a machine-generated interpreter to)
dup
stringwidth
pop
210
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 400.000000 moveto
(draw the scanlines.)
dup
stringwidth
pop
85
exch
sub
2
div
exch
0
exch
32
exch
widthshow
351.000000 424.000000 moveto
(Before describing how the dynamic compilation)
dup
stringwidth
pop
213
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 436.000000 moveto
(process works, let's take a look at an example.)
dup
stringwidth
pop
203
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 448.000000 moveto
(Consider the case where a 401x300 rectangle is to)
dup
stringwidth
pop
217
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 460.000000 moveto
(be filled with white pixels \(pixel value zero on the)
dup
stringwidth
pop
222
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 472.000000 moveto
(Macintosh\).  This might happen, for example,)
dup
stringwidth
pop
202
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 484.000000 moveto
(when erasing a window. Furthermore, let's)
dup
stringwidth
pop
191
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 496.000000 moveto
(assume that the target bitmap has four bits per)
dup
stringwidth
pop
207
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 508.000000 moveto
(pixel, since that's somewhat tricker to handle than)
dup
stringwidth
pop
222
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 520.000000 moveto
(8 bits per pixel.  Figure 4 shows the subroutine)
dup
stringwidth
pop
207
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 532.000000 moveto
(that Executor dynamically generates to draw this)
dup
stringwidth
pop
218
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 544.000000 moveto
(rectangle on a Pentium.)
dup
stringwidth
pop
105
exch
sub
3
div
exch
0
exch
32
exch
widthshow
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 584 def/wp$left 88 def/wp$right 578 def/wp$bottom 595 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 593.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(loop:)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
126.000000 593.000000 moveto
(andl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 593.000000 moveto
($0xff,0x50\(%edi\))
dup
stringwidth
pop
96
exch
sub
16
div
exch
0
exch
ashow
306.000000 593.000000 moveto
(; clear leftmost 6 boundary pixels)
dup
stringwidth
pop
204
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 583.000000 moveto
gsave
newpath
87.000000 583.000000 moveto
87.000000 583.000000 lineto
88.000000 583.000000 lineto
88.000000 584.000000 lineto
88.000000 584.000000 lineto
87.000000 584.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
87.000000 583.000000 moveto
87.000000 583.000000 lineto
88.000000 583.000000 lineto
88.000000 584.000000 lineto
88.000000 584.000000 lineto
87.000000 584.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
88.000000 583.000000 moveto
gsave
newpath
88.000000 583.000000 moveto
577.000000 583.000000 lineto
578.000000 583.000000 lineto
578.000000 584.000000 lineto
89.000000 584.000000 lineto
88.000000 584.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 583.000000 moveto
gsave
newpath
578.000000 583.000000 moveto
578.000000 583.000000 lineto
579.000000 583.000000 lineto
579.000000 584.000000 lineto
579.000000 584.000000 lineto
578.000000 584.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
578.000000 583.000000 moveto
578.000000 583.000000 lineto
579.000000 583.000000 lineto
579.000000 584.000000 lineto
579.000000 584.000000 lineto
578.000000 584.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
87.000000 584.000000 moveto
gsave
newpath
87.000000 584.000000 moveto
88.000000 584.000000 lineto
88.000000 594.000000 lineto
88.000000 595.000000 lineto
87.000000 595.000000 lineto
87.000000 585.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 584.000000 moveto
gsave
newpath
578.000000 584.000000 moveto
579.000000 584.000000 lineto
579.000000 594.000000 lineto
579.000000 595.000000 lineto
578.000000 595.000000 lineto
578.000000 585.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 594.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 595 def/wp$left 88 def/wp$right 578 def/wp$bottom 606 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 604.000000 moveto
(addl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 604.000000 moveto
($0x54,%edi)
dup
stringwidth
pop
60
exch
sub
10
div
exch
0
exch
ashow
306.000000 604.000000 moveto
(; set up pointer for loop)
dup
stringwidth
pop
150
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 595.000000 moveto
gsave
newpath
87.000000 595.000000 moveto
88.000000 595.000000 lineto
88.000000 605.000000 lineto
88.000000 606.000000 lineto
87.000000 606.000000 lineto
87.000000 596.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 595.000000 moveto
gsave
newpath
578.000000 595.000000 moveto
579.000000 595.000000 lineto
579.000000 605.000000 lineto
579.000000 606.000000 lineto
578.000000 606.000000 lineto
578.000000 596.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 605.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 606 def/wp$left 88 def/wp$right 578 def/wp$bottom 617 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 615.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 615.000000 moveto
($0x31,%ecx)
dup
stringwidth
pop
60
exch
sub
10
div
exch
0
exch
ashow
306.000000 615.000000 moveto
(; set up loop counter)
dup
stringwidth
pop
126
exch
sub
4
div
exch
0
exch
32
exch
widthshow
87.000000 606.000000 moveto
gsave
newpath
87.000000 606.000000 moveto
88.000000 606.000000 lineto
88.000000 616.000000 lineto
88.000000 617.000000 lineto
87.000000 617.000000 lineto
87.000000 607.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 606.000000 moveto
gsave
newpath
578.000000 606.000000 moveto
579.000000 606.000000 lineto
579.000000 616.000000 lineto
579.000000 617.000000 lineto
578.000000 617.000000 lineto
578.000000 607.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 616.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 617 def/wp$left 88 def/wp$right 578 def/wp$bottom 628 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 626.000000 moveto
(rep)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
87.000000 617.000000 moveto
gsave
newpath
87.000000 617.000000 moveto
88.000000 617.000000 lineto
88.000000 627.000000 lineto
88.000000 628.000000 lineto
87.000000 628.000000 lineto
87.000000 618.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 617.000000 moveto
gsave
newpath
578.000000 617.000000 moveto
579.000000 617.000000 lineto
579.000000 627.000000 lineto
579.000000 628.000000 lineto
578.000000 628.000000 lineto
578.000000 618.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 627.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 628 def/wp$left 88 def/wp$right 578 def/wp$bottom 639 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 637.000000 moveto
(stosl)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
306.000000 637.000000 moveto
(; slam out 49 aligned longs)
dup
stringwidth
pop
162
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 628.000000 moveto
gsave
newpath
87.000000 628.000000 moveto
88.000000 628.000000 lineto
88.000000 638.000000 lineto
88.000000 639.000000 lineto
87.000000 639.000000 lineto
87.000000 629.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 628.000000 moveto
gsave
newpath
578.000000 628.000000 moveto
579.000000 628.000000 lineto
579.000000 638.000000 lineto
579.000000 639.000000 lineto
578.000000 639.000000 lineto
578.000000 629.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 638.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 639 def/wp$left 88 def/wp$right 578 def/wp$bottom 650 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 648.000000 moveto
(andl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 648.000000 moveto
($0xffff0f00,0x0\(%edi\))
dup
stringwidth
pop
126
exch
sub
21
div
exch
0
exch
ashow
306.000000 648.000000 moveto
(; clear 3 right boundary pixels)
dup
stringwidth
pop
186
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 639.000000 moveto
gsave
newpath
87.000000 639.000000 moveto
88.000000 639.000000 lineto
88.000000 649.000000 lineto
88.000000 650.000000 lineto
87.000000 650.000000 lineto
87.000000 640.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 639.000000 moveto
gsave
newpath
578.000000 639.000000 moveto
579.000000 639.000000 lineto
579.000000 649.000000 lineto
579.000000 650.000000 lineto
578.000000 650.000000 lineto
578.000000 640.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 649.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 650 def/wp$left 88 def/wp$right 578 def/wp$bottom 661 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 659.000000 moveto
(addl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 659.000000 moveto
($0x28,%edi)
dup
stringwidth
pop
60
exch
sub
10
div
exch
0
exch
ashow
306.000000 659.000000 moveto
(; move to next row)
dup
stringwidth
pop
108
exch
sub
4
div
exch
0
exch
32
exch
widthshow
87.000000 650.000000 moveto
gsave
newpath
87.000000 650.000000 moveto
88.000000 650.000000 lineto
88.000000 660.000000 lineto
88.000000 661.000000 lineto
87.000000 661.000000 lineto
87.000000 651.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 650.000000 moveto
gsave
newpath
578.000000 650.000000 moveto
579.000000 650.000000 lineto
579.000000 660.000000 lineto
579.000000 661.000000 lineto
578.000000 661.000000 lineto
578.000000 651.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 660.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 661 def/wp$left 88 def/wp$right 578 def/wp$bottom 672 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 670.000000 moveto
(decl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
162.000000 670.000000 moveto
(%edx)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
306.000000 670.000000 moveto
(; decrement # of rows left)
dup
stringwidth
pop
156
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 661.000000 moveto
gsave
newpath
87.000000 661.000000 moveto
88.000000 661.000000 lineto
88.000000 671.000000 lineto
88.000000 672.000000 lineto
87.000000 672.000000 lineto
87.000000 662.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 661.000000 moveto
gsave
newpath
578.000000 661.000000 moveto
579.000000 661.000000 lineto
579.000000 671.000000 lineto
579.000000 672.000000 lineto
578.000000 672.000000 lineto
578.000000 662.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 671.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 672 def/wp$left 88 def/wp$right 578 def/wp$bottom 683 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 681.000000 moveto
(jne)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
162.000000 681.000000 moveto
(loop)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
306.000000 681.000000 moveto
(; continue looping if appropriate)
dup
stringwidth
pop
198
exch
sub
4
div
exch
0
exch
32
exch
widthshow
87.000000 672.000000 moveto
gsave
newpath
87.000000 672.000000 moveto
88.000000 672.000000 lineto
88.000000 682.000000 lineto
88.000000 683.000000 lineto
87.000000 683.000000 lineto
87.000000 673.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 672.000000 moveto
gsave
newpath
578.000000 672.000000 moveto
579.000000 672.000000 lineto
579.000000 682.000000 lineto
579.000000 683.000000 lineto
578.000000 683.000000 lineto
578.000000 673.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 682.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 683 def/wp$left 88 def/wp$right 578 def/wp$bottom 694 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 692.000000 moveto
(ret)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
306.000000 692.000000 moveto
(; we're done!)
dup
stringwidth
pop
78
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 683.000000 moveto
gsave
newpath
87.000000 683.000000 moveto
88.000000 683.000000 lineto
88.000000 693.000000 lineto
88.000000 694.000000 lineto
87.000000 694.000000 lineto
87.000000 684.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 683.000000 moveto
gsave
newpath
578.000000 683.000000 moveto
579.000000 683.000000 lineto
579.000000 693.000000 lineto
579.000000 694.000000 lineto
578.000000 694.000000 lineto
578.000000 684.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 693.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 694 def/wp$left 88 def/wp$right 578 def/wp$bottom 705 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
87.000000 694.000000 moveto
gsave
newpath
87.000000 694.000000 moveto
88.000000 694.000000 lineto
88.000000 704.000000 lineto
88.000000 705.000000 lineto
87.000000 705.000000 lineto
87.000000 695.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 694.000000 moveto
gsave
newpath
578.000000 694.000000 moveto
579.000000 694.000000 lineto
579.000000 704.000000 lineto
579.000000 705.000000 lineto
578.000000 705.000000 lineto
578.000000 695.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 704.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 705 def/wp$left 88 def/wp$right 578 def/wp$bottom 719 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
210.000000 715.000000 moveto
(Palatino-Roman)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Figure 4.  Dynamically generated blitting code)
dup
stringwidth
pop
246
exch
sub
6
div
exch
0
exch
32
exch
widthshow
87.000000 719.000000 moveto
gsave
newpath
87.000000 719.000000 moveto
87.000000 719.000000 lineto
88.000000 719.000000 lineto
88.000000 720.000000 lineto
88.000000 720.000000 lineto
87.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
87.000000 719.000000 moveto
87.000000 719.000000 lineto
88.000000 719.000000 lineto
88.000000 720.000000 lineto
88.000000 720.000000 lineto
87.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
88.000000 719.000000 moveto
gsave
newpath
88.000000 719.000000 moveto
577.000000 719.000000 lineto
578.000000 719.000000 lineto
578.000000 720.000000 lineto
89.000000 720.000000 lineto
88.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 719.000000 moveto
gsave
newpath
578.000000 719.000000 moveto
578.000000 719.000000 lineto
579.000000 719.000000 lineto
579.000000 720.000000 lineto
579.000000 720.000000 lineto
578.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
578.000000 719.000000 moveto
578.000000 719.000000 lineto
579.000000 719.000000 lineto
579.000000 720.000000 lineto
579.000000 720.000000 lineto
578.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
87.000000 705.000000 moveto
gsave
newpath
87.000000 705.000000 moveto
88.000000 705.000000 lineto
88.000000 718.000000 lineto
88.000000 719.000000 lineto
87.000000 719.000000 lineto
87.000000 706.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 705.000000 moveto
gsave
newpath
578.000000 705.000000 moveto
579.000000 705.000000 lineto
579.000000 718.000000 lineto
579.000000 719.000000 lineto
578.000000 719.000000 lineto
578.000000 706.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 8 8
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
252.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
463.000000 753.000000 moveto
(8)
dup
stringwidth
pop
5
exch
sub
1
div
exch
0
exch
ashow
36.000000 81.000000 moveto
(This code, when called with the proper values in)
dup
stringwidth
pop
215
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 93.000000 moveto
(its input registers, will draw the entire rectangle.)
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 105.000000 moveto
(Note how the inner loop is merely a)
dup
stringwidth
pop
159
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 117.000000 moveto
(")
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(rep ; stosl)
dup
stringwidth
pop
66
exch
sub
2
div
exch
0
exch
32
exch
widthshow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
("...it doesn't get much more concise)
dup
stringwidth
pop
156
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 129.000000 moveto
(than that!  The astute reader will know that on)
dup
stringwidth
pop
206
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 141.000000 moveto
(certain 80x86 processors "rep ; stosl" is not the)
dup
stringwidth
pop
203
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 153.000000 moveto
(fastest possible way to set a range of memory.)
dup
stringwidth
pop
203
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 165.000000 moveto
(This is true, but because our code generation is)
dup
stringwidth
pop
208
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 177.000000 moveto
(dynamic, in the future we can tailor the specific)
dup
stringwidth
pop
210
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 189.000000 moveto
(code sequence generated to the processor on)
dup
stringwidth
pop
197
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 201.000000 moveto
(which Executor is currently running.  The blitter)
dup
stringwidth
pop
214
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 213.000000 moveto
(already does this when it needs to emit a byte)
dup
stringwidth
pop
202
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 225.000000 moveto
(swap; on the 80486 and up we use the "bswap")
dup
stringwidth
pop
207
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 237.000000 moveto
(instruction, and on the 80386 \(which doesn't)
dup
stringwidth
pop
196
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 249.000000 moveto
(support "bswap"\) we use a sequence of rotates.)
dup
stringwidth
pop
208
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 273.000000 moveto
(One thing you may notice in this example is that)
dup
stringwidth
pop
215
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 285.000000 moveto
(the bit masks used to clear the boundary pixels)
dup
stringwidth
pop
208
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 297.000000 moveto
(look strange.  They are actually correct, since)
dup
stringwidth
pop
199
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 309.000000 moveto
(80x86 processors are little endian.)
dup
stringwidth
pop
149
exch
sub
4
div
exch
0
exch
32
exch
widthshow
36.000000 333.000000 moveto
(Unlike some processors, such as the 68040, the)
dup
stringwidth
pop
205
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 345.000000 moveto
(80x86 instruction and data caches are always)
dup
stringwidth
pop
199
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 357.000000 moveto
(coherent.  Consequently, no cache flushes need to)
dup
stringwidth
pop
220
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 369.000000 moveto
(be performed before the dynamically created code)
dup
stringwidth
pop
223
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 381.000000 moveto
(can be executed.)
dup
stringwidth
pop
73
exch
sub
2
div
exch
0
exch
32
exch
widthshow
36.000000 405.000000 moveto
(Figure 5 contains another example, this time)
dup
stringwidth
pop
196
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 417.000000 moveto
(drawn from a real application.  The program)
dup
stringwidth
pop
198
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 429.000000 moveto
("Globe", by Paul Mercer, draws a spinning globe)
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 453.000000 moveto
(on the screen as fast as it can.  Each "globe frame")
dup
stringwidth
pop
218
exch
sub
11
div
exch
0
exch
32
exch
widthshow
36.000000 465.000000 moveto
(is a 128x128 Pixmap.  Here is the code that)
dup
stringwidth
pop
188
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 477.000000 moveto
(Executor generates and runs when Globe uses)
dup
stringwidth
pop
204
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 489.000000 moveto
(CopyBits to transfer one frame to the screen at 8)
dup
stringwidth
pop
212
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 501.000000 moveto
(bits per pixel.)
dup
stringwidth
pop
60
exch
sub
2
div
exch
0
exch
32
exch
widthshow
36.000000 525.000000 moveto
(Again the inner loop is very tight, just a "rep ;)
dup
stringwidth
pop
202
exch
sub
10
div
exch
0
exch
32
exch
widthshow
36.000000 537.000000 moveto
(movsl" this time.)
dup
stringwidth
pop
75
exch
sub
2
div
exch
0
exch
32
exch
widthshow
315.000000 88.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Meta-Assembler)
dup
stringwidth
pop
91
exch
sub
14
div
exch
0
exch
ashow
297.000000 101.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(No matter how fast the generated code, if Executor)
dup
stringwidth
pop
225
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 113.000000 moveto
(spends too much time generating that code then)
dup
stringwidth
pop
214
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 125.000000 moveto
(any speedup will be negated by the increased time)
dup
stringwidth
pop
224
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 137.000000 moveto
(required for dynamic compilation.  Consequently,)
dup
stringwidth
pop
222
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 149.000000 moveto
(the dynamic compilation from Region to 80x86)
dup
stringwidth
pop
208
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 161.000000 moveto
(code needs to be fast. We solved this problem with)
dup
stringwidth
pop
225
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 173.000000 moveto
(a "meta-assembler" written in Perl.)
dup
stringwidth
pop
154
exch
sub
4
div
exch
0
exch
32
exch
widthshow
297.000000 197.000000 moveto
(Whereas an assembler tells a computer how to)
dup
stringwidth
pop
206
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 209.000000 moveto
(translate assembly instructions into machine code,)
dup
stringwidth
pop
223
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 221.000000 moveto
(our meta-assembler tells the computer how to)
dup
stringwidth
pop
203
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 233.000000 moveto
(generate tiny translators.  These translators will)
dup
stringwidth
pop
210
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 245.000000 moveto
(then be used to translate pixel manipulation)
dup
stringwidth
pop
195
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 257.000000 moveto
(requests into machine code.  Another way of)
dup
stringwidth
pop
198
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 269.000000 moveto
(looking at it is that the meta-assembler generates)
dup
stringwidth
pop
216
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 281.000000 moveto
(code that generates code.  This meta-assembly)
dup
stringwidth
pop
204
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 293.000000 moveto
(process is done only once:  when Executor is)
dup
stringwidth
pop
197
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 305.000000 moveto
(compiled.)
dup
stringwidth
pop
44
exch
sub
9
div
exch
0
exch
ashow
297.000000 329.000000 moveto
(The blitter operates on aligned longs in the)
dup
stringwidth
pop
190
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 341.000000 moveto
(destination bitmap.  As the compilation engine)
dup
stringwidth
pop
208
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 353.000000 moveto
(strides through the scanline's start/stop pairs from)
dup
stringwidth
pop
225
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 365.000000 moveto
(left to right, it identifies which bits in each long are)
dup
stringwidth
pop
225
exch
sub
10
div
exch
0
exch
32
exch
widthshow
297.000000 377.000000 moveto
(part of the Region and determines which of)
dup
stringwidth
pop
193
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 389.000000 moveto
(several pixel manipulation requests to issue to the)
dup
stringwidth
pop
221
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 401.000000 moveto
(tiny translators that were created by the meta)
dup
stringwidth
pop
201
exch
sub
7
div
exch
0
exch
32
exch
widthshow
(-)
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
297.000000 413.000000 moveto
(assembler.)
dup
stringwidth
pop
47
exch
sub
10
div
exch
0
exch
ashow
315.000000 437.000000 moveto
(\245 Some but not all bits in the current long are)
dup
stringwidth
pop
200
exch
sub
10
div
exch
0
exch
32
exch
widthshow
324.000000 449.000000 moveto
(in the Region.)
dup
stringwidth
pop
62
exch
sub
2
div
exch
0
exch
32
exch
widthshow
315.000000 473.000000 moveto
(\245 All bits in the current long are in the Region.)
dup
stringwidth
pop
206
exch
sub
10
div
exch
0
exch
32
exch
widthshow
315.000000 497.000000 moveto
(\245 All bits in this long and the next long are in)
dup
stringwidth
pop
200
exch
sub
11
div
exch
0
exch
32
exch
widthshow
324.000000 509.000000 moveto
(the Region.)
dup
stringwidth
pop
51
exch
sub
1
div
exch
0
exch
32
exch
widthshow
315.000000 533.000000 moveto
(\245 All bits in this long and the next two longs)
dup
stringwidth
pop
197
exch
sub
10
div
exch
0
exch
32
exch
widthshow
324.000000 545.000000 moveto
(are in the Region.)
dup
stringwidth
pop
78
exch
sub
3
div
exch
0
exch
32
exch
widthshow
315.000000 569.000000 moveto
(\245 All bits in this long and the next three longs)
dup
stringwidth
pop
202
exch
sub
10
div
exch
0
exch
32
exch
widthshow
324.000000 581.000000 moveto
(are in the Region.)
dup
stringwidth
pop
78
exch
sub
3
div
exch
0
exch
32
exch
widthshow
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 617 def/wp$left 34 def/wp$right 524 def/wp$bottom 628 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
36.000000 626.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(loop:)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
72.000000 626.000000 moveto
(movl   $0x20,%ecx)
dup
stringwidth
pop
102
exch
sub
3
div
exch
0
exch
32
exch
widthshow
216.000000 626.000000 moveto
(; set up loop counter for 32 longs)
dup
stringwidth
pop
204
exch
sub
7
div
exch
0
exch
32
exch
widthshow
33.000000 616.000000 moveto
gsave
newpath
33.000000 616.000000 moveto
33.000000 616.000000 lineto
34.000000 616.000000 lineto
34.000000 617.000000 lineto
34.000000 617.000000 lineto
33.000000 617.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
33.000000 616.000000 moveto
33.000000 616.000000 lineto
34.000000 616.000000 lineto
34.000000 617.000000 lineto
34.000000 617.000000 lineto
33.000000 617.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
34.000000 616.000000 moveto
gsave
newpath
34.000000 616.000000 moveto
523.000000 616.000000 lineto
524.000000 616.000000 lineto
524.000000 617.000000 lineto
35.000000 617.000000 lineto
34.000000 617.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 616.000000 moveto
gsave
newpath
524.000000 616.000000 moveto
524.000000 616.000000 lineto
525.000000 616.000000 lineto
525.000000 617.000000 lineto
525.000000 617.000000 lineto
524.000000 617.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
524.000000 616.000000 moveto
524.000000 616.000000 lineto
525.000000 616.000000 lineto
525.000000 617.000000 lineto
525.000000 617.000000 lineto
524.000000 617.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
33.000000 617.000000 moveto
gsave
newpath
33.000000 617.000000 moveto
34.000000 617.000000 lineto
34.000000 627.000000 lineto
34.000000 628.000000 lineto
33.000000 628.000000 lineto
33.000000 618.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 617.000000 moveto
gsave
newpath
524.000000 617.000000 moveto
525.000000 617.000000 lineto
525.000000 627.000000 lineto
525.000000 628.000000 lineto
524.000000 628.000000 lineto
524.000000 618.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 627.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 628 def/wp$left 34 def/wp$right 524 def/wp$bottom 639 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 637.000000 moveto
(rep)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
33.000000 628.000000 moveto
gsave
newpath
33.000000 628.000000 moveto
34.000000 628.000000 lineto
34.000000 638.000000 lineto
34.000000 639.000000 lineto
33.000000 639.000000 lineto
33.000000 629.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 628.000000 moveto
gsave
newpath
524.000000 628.000000 moveto
525.000000 628.000000 lineto
525.000000 638.000000 lineto
525.000000 639.000000 lineto
524.000000 639.000000 lineto
524.000000 629.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 638.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 639 def/wp$left 34 def/wp$right 524 def/wp$bottom 650 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 648.000000 moveto
(movsl)
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
216.000000 648.000000 moveto
(; copy one row \(128 bytes\))
dup
stringwidth
pop
156
exch
sub
5
div
exch
0
exch
32
exch
widthshow
33.000000 639.000000 moveto
gsave
newpath
33.000000 639.000000 moveto
34.000000 639.000000 lineto
34.000000 649.000000 lineto
34.000000 650.000000 lineto
33.000000 650.000000 lineto
33.000000 640.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 639.000000 moveto
gsave
newpath
524.000000 639.000000 moveto
525.000000 639.000000 lineto
525.000000 649.000000 lineto
525.000000 650.000000 lineto
524.000000 650.000000 lineto
524.000000 640.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 649.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 650 def/wp$left 34 def/wp$right 524 def/wp$bottom 661 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 659.000000 moveto
(addl   $0xffffff00,%esi)
dup
stringwidth
pop
138
exch
sub
3
div
exch
0
exch
32
exch
widthshow
216.000000 659.000000 moveto
(; advance to previous src row)
dup
stringwidth
pop
174
exch
sub
5
div
exch
0
exch
32
exch
widthshow
33.000000 650.000000 moveto
gsave
newpath
33.000000 650.000000 moveto
34.000000 650.000000 lineto
34.000000 660.000000 lineto
34.000000 661.000000 lineto
33.000000 661.000000 lineto
33.000000 651.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 650.000000 moveto
gsave
newpath
524.000000 650.000000 moveto
525.000000 650.000000 lineto
525.000000 660.000000 lineto
525.000000 661.000000 lineto
524.000000 661.000000 lineto
524.000000 651.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 660.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 661 def/wp$left 34 def/wp$right 524 def/wp$bottom 672 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 670.000000 moveto
(addl   $0xfffffd00,%edi)
dup
stringwidth
pop
138
exch
sub
3
div
exch
0
exch
32
exch
widthshow
216.000000 670.000000 moveto
(; advance to previous dst row)
dup
stringwidth
pop
174
exch
sub
5
div
exch
0
exch
32
exch
widthshow
33.000000 661.000000 moveto
gsave
newpath
33.000000 661.000000 moveto
34.000000 661.000000 lineto
34.000000 671.000000 lineto
34.000000 672.000000 lineto
33.000000 672.000000 lineto
33.000000 662.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 661.000000 moveto
gsave
newpath
524.000000 661.000000 moveto
525.000000 661.000000 lineto
525.000000 671.000000 lineto
525.000000 672.000000 lineto
524.000000 672.000000 lineto
524.000000 662.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 671.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 672 def/wp$left 34 def/wp$right 524 def/wp$bottom 683 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 681.000000 moveto
(decl   %edx)
dup
stringwidth
pop
66
exch
sub
3
div
exch
0
exch
32
exch
widthshow
216.000000 681.000000 moveto
(; decrement # of rows remaining)
dup
stringwidth
pop
186
exch
sub
5
div
exch
0
exch
32
exch
widthshow
33.000000 672.000000 moveto
gsave
newpath
33.000000 672.000000 moveto
34.000000 672.000000 lineto
34.000000 682.000000 lineto
34.000000 683.000000 lineto
33.000000 683.000000 lineto
33.000000 673.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 672.000000 moveto
gsave
newpath
524.000000 672.000000 moveto
525.000000 672.000000 lineto
525.000000 682.000000 lineto
525.000000 683.000000 lineto
524.000000 683.000000 lineto
524.000000 673.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 682.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 683 def/wp$left 34 def/wp$right 524 def/wp$bottom 694 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 692.000000 moveto
(jne    loop)
dup
stringwidth
pop
66
exch
sub
4
div
exch
0
exch
32
exch
widthshow
33.000000 683.000000 moveto
gsave
newpath
33.000000 683.000000 moveto
34.000000 683.000000 lineto
34.000000 693.000000 lineto
34.000000 694.000000 lineto
33.000000 694.000000 lineto
33.000000 684.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 683.000000 moveto
gsave
newpath
524.000000 683.000000 moveto
525.000000 683.000000 lineto
525.000000 693.000000 lineto
525.000000 694.000000 lineto
524.000000 694.000000 lineto
524.000000 684.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 693.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 694 def/wp$left 34 def/wp$right 524 def/wp$bottom 705 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
72.000000 703.000000 moveto
(ret)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
33.000000 694.000000 moveto
gsave
newpath
33.000000 694.000000 moveto
34.000000 694.000000 lineto
34.000000 704.000000 lineto
34.000000 705.000000 lineto
33.000000 705.000000 lineto
33.000000 695.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 694.000000 moveto
gsave
newpath
524.000000 694.000000 moveto
525.000000 694.000000 lineto
525.000000 704.000000 lineto
525.000000 705.000000 lineto
524.000000 705.000000 lineto
524.000000 695.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 704.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 705 def/wp$left 34 def/wp$right 524 def/wp$bottom 719 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
187.000000 715.000000 moveto
(Palatino-Roman)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Figure 5.  Blitting code from Globe)
dup
stringwidth
pop
184
exch
sub
6
div
exch
0
exch
32
exch
widthshow
33.000000 719.000000 moveto
gsave
newpath
33.000000 719.000000 moveto
33.000000 719.000000 lineto
34.000000 719.000000 lineto
34.000000 720.000000 lineto
34.000000 720.000000 lineto
33.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
33.000000 719.000000 moveto
33.000000 719.000000 lineto
34.000000 719.000000 lineto
34.000000 720.000000 lineto
34.000000 720.000000 lineto
33.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
34.000000 719.000000 moveto
gsave
newpath
34.000000 719.000000 moveto
523.000000 719.000000 lineto
524.000000 719.000000 lineto
524.000000 720.000000 lineto
35.000000 720.000000 lineto
34.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 719.000000 moveto
gsave
newpath
524.000000 719.000000 moveto
524.000000 719.000000 lineto
525.000000 719.000000 lineto
525.000000 720.000000 lineto
525.000000 720.000000 lineto
524.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
524.000000 719.000000 moveto
524.000000 719.000000 lineto
525.000000 719.000000 lineto
525.000000 720.000000 lineto
525.000000 720.000000 lineto
524.000000 720.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
33.000000 705.000000 moveto
gsave
newpath
33.000000 705.000000 moveto
34.000000 705.000000 lineto
34.000000 718.000000 lineto
34.000000 719.000000 lineto
33.000000 719.000000 lineto
33.000000 706.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
524.000000 705.000000 moveto
gsave
newpath
524.000000 705.000000 moveto
525.000000 705.000000 lineto
525.000000 718.000000 lineto
525.000000 719.000000 lineto
524.000000 719.000000 lineto
524.000000 706.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 9 9
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
306.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
517.000000 753.000000 moveto
(9)
dup
stringwidth
pop
5
exch
sub
1
div
exch
0
exch
ashow
108.000000 81.000000 moveto
(\245 More than four contiguous longs are)
dup
stringwidth
pop
171
exch
sub
6
div
exch
0
exch
32
exch
widthshow
117.000000 93.000000 moveto
(completely in the Region, and the number of)
dup
stringwidth
pop
198
exch
sub
7
div
exch
0
exch
32
exch
widthshow
117.000000 105.000000 moveto
(longs equals 0 mod 4.)
dup
stringwidth
pop
96
exch
sub
4
div
exch
0
exch
32
exch
widthshow
108.000000 129.000000 moveto
(\245 More than four contiguous longs are)
dup
stringwidth
pop
171
exch
sub
6
div
exch
0
exch
32
exch
widthshow
117.000000 141.000000 moveto
(completely in the Region, and the number of)
dup
stringwidth
pop
198
exch
sub
7
div
exch
0
exch
32
exch
widthshow
117.000000 153.000000 moveto
(longs equals 1 mod 4.)
dup
stringwidth
pop
96
exch
sub
4
div
exch
0
exch
32
exch
widthshow
108.000000 177.000000 moveto
(\245 More than four contiguous longs are)
dup
stringwidth
pop
171
exch
sub
6
div
exch
0
exch
32
exch
widthshow
117.000000 189.000000 moveto
(completely in the Region, and the number of)
dup
stringwidth
pop
198
exch
sub
7
div
exch
0
exch
32
exch
widthshow
117.000000 201.000000 moveto
(longs equals 2 mod 4.)
dup
stringwidth
pop
96
exch
sub
4
div
exch
0
exch
32
exch
widthshow
108.000000 225.000000 moveto
(\245 More than four contiguous longs are)
dup
stringwidth
pop
171
exch
sub
6
div
exch
0
exch
32
exch
widthshow
117.000000 237.000000 moveto
(completely in the Region, and the number of)
dup
stringwidth
pop
198
exch
sub
7
div
exch
0
exch
32
exch
widthshow
117.000000 249.000000 moveto
(longs equals 3 mod 4.)
dup
stringwidth
pop
96
exch
sub
4
div
exch
0
exch
32
exch
widthshow
90.000000 273.000000 moveto
(The particular case encountered determines which)
dup
stringwidth
pop
224
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 285.000000 moveto
(function pointer to load from a lookup table)
dup
stringwidth
pop
195
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 297.000000 moveto
(corresponding to the current drawing mode. For)
dup
stringwidth
pop
215
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 309.000000 moveto
(example, the "patCopy" drawing mode has one)
dup
stringwidth
pop
209
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 321.000000 moveto
(table of function pointers, "patXor" another.  There)
dup
stringwidth
pop
224
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 333.000000 moveto
(are also some special case tables for drawing)
dup
stringwidth
pop
198
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 345.000000 moveto
(patterns that are either all zero bits or all one bits.)
dup
stringwidth
pop
219
exch
sub
10
div
exch
0
exch
32
exch
widthshow
90.000000 369.000000 moveto
(The main blitter doesn't care what drawing mode)
dup
stringwidth
pop
219
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 381.000000 moveto
(is being used, since it does all mode-specific work)
dup
stringwidth
pop
221
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 393.000000 moveto
(through the supplied function pointer table.)
dup
stringwidth
pop
195
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 417.000000 moveto
(Each function pointer points to a function that)
dup
stringwidth
pop
204
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 429.000000 moveto
(generates 80x86 code for the appropriate case.  For)
dup
stringwidth
pop
224
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 441.000000 moveto
(example, one function generates code for a)
dup
stringwidth
pop
189
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 453.000000 moveto
("patCopy" to three contiguous longs, one)
dup
stringwidth
pop
182
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 465.000000 moveto
(generates code for "patXor" only to certain)
dup
stringwidth
pop
188
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 477.000000 moveto
(specified bits within one long, etc.)
dup
stringwidth
pop
151
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 501.000000 moveto
(The blitter compilation engine marches through)
dup
stringwidth
pop
212
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 513.000000 moveto
(the Region scanline from left to right, calling code)
dup
stringwidth
pop
220
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 525.000000 moveto
(generation functions as it goes.  The generated)
dup
stringwidth
pop
205
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 537.000000 moveto
(code is accrued into a 32-byte aligned buffer on the)
dup
stringwidth
pop
226
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 549.000000 moveto
(stack. In this way, the blitter constructs a)
dup
stringwidth
pop
180
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 561.000000 moveto
(subroutine to draw the Region.)
dup
stringwidth
pop
138
exch
sub
4
div
exch
0
exch
32
exch
widthshow
90.000000 585.000000 moveto
(The compilation engine isn't very complicated.)
dup
stringwidth
pop
207
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 597.000000 moveto
(The tricky part is the numerous generation)
dup
stringwidth
pop
190
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 609.000000 moveto
(subroutines, which need to be fast since they are)
dup
stringwidth
pop
214
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 621.000000 moveto
(called so often and need to be easy to write since)
dup
stringwidth
pop
215
exch
sub
10
div
exch
0
exch
32
exch
widthshow
90.000000 633.000000 moveto
(there are so many of them. For each drawing)
dup
stringwidth
pop
198
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 645.000000 moveto
(mode there's one for each case the compilation)
dup
stringwidth
pop
206
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 657.000000 moveto
(engine cares about.  For pattern drawing modes,)
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 669.000000 moveto
(there are separate specialized subroutines for cases)
dup
stringwidth
pop
226
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 681.000000 moveto
(like patterns that can be entirely expressed in one)
dup
stringwidth
pop
219
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 693.000000 moveto
(32-bit value \("short/narrow"\) patterns, patterns)
dup
stringwidth
pop
210
exch
sub
4
div
exch
0
exch
32
exch
widthshow
90.000000 705.000000 moveto
(which can be expressed as one 32-bit value for)
dup
stringwidth
pop
205
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 717.000000 moveto
(each row, but which vary per row \("tall/narrow"\),)
dup
stringwidth
pop
222
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 81.000000 moveto
(as well as "wide" variants of both. Beyond that,)
dup
stringwidth
pop
208
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 93.000000 moveto
(there are some versions specialized for 80486 and)
dup
stringwidth
pop
218
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 105.000000 moveto
(higher processors \(which have the "bswap")
dup
stringwidth
pop
191
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 117.000000 moveto
(instruction\).)
dup
stringwidth
pop
54
exch
sub
13
div
exch
0
exch
ashow
351.000000 141.000000 moveto
(Generating fast and robust code generators is)
dup
stringwidth
pop
201
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 153.000000 moveto
(where the Perl meta-assembler comes into play.)
dup
stringwidth
pop
211
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 177.000000 moveto
(The meta-assembler takes as input an assembly)
dup
stringwidth
pop
210
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 189.000000 moveto
(language template, and generates as output)
dup
stringwidth
pop
193
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 201.000000 moveto
(Pentium-scheduled assembly code that outputs an)
dup
stringwidth
pop
224
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 213.000000 moveto
(80x86 binary for the input template.  This process)
dup
stringwidth
pop
219
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 225.000000 moveto
(only takes place when Executor is compiled.  Got)
dup
stringwidth
pop
218
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 237.000000 moveto
(it?  This can be a little confusing, so a few)
dup
stringwidth
pop
183
exch
sub
10
div
exch
0
exch
32
exch
widthshow
351.000000 249.000000 moveto
(examples are in order.)
dup
stringwidth
pop
99
exch
sub
3
div
exch
0
exch
32
exch
widthshow
351.000000 273.000000 moveto
(Here is perhaps the simplest template:)
dup
stringwidth
pop
170
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 297.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(  @meta copy_short_narrow_1)
dup
stringwidth
pop
162
exch
sub
3
div
exch
0
exch
32
exch
widthshow
387.000000 308.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
423.000000 308.000000 moveto
(%eax,@param_offset@\(%edi\))
dup
stringwidth
pop
150
exch
sub
25
div
exch
0
exch
ashow
351.000000 319.000000 moveto
(  @endmeta)
dup
stringwidth
pop
60
exch
sub
2
div
exch
0
exch
32
exch
widthshow
351.000000 342.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(This template describes what should be done)
dup
stringwidth
pop
200
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 354.000000 moveto
(when the blitter wants to write one long to)
dup
stringwidth
pop
189
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 366.000000 moveto
(memory.  The meta-assembler processes that into)
dup
stringwidth
pop
219
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 378.000000 moveto
(this 80x86 assembly code which is to be called by)
dup
stringwidth
pop
217
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 390.000000 moveto
(the blitter compilation engine:)
dup
stringwidth
pop
134
exch
sub
3
div
exch
0
exch
32
exch
widthshow
387.000000 414.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(.align)
dup
stringwidth
pop
36
exch
sub
6
div
exch
0
exch
ashow
459.000000 414.000000 moveto
(4,0x90)
dup
stringwidth
pop
36
exch
sub
6
div
exch
0
exch
ashow
351.000000 425.000000 moveto
(_xdblt_copy_short_narrow_1:)
dup
stringwidth
pop
162
exch
sub
27
div
exch
0
exch
ashow
387.000000 436.000000 moveto
(movw)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
423.000000 436.000000 moveto
($0x8789,\(%edi\))
dup
stringwidth
pop
84
exch
sub
14
div
exch
0
exch
ashow
387.000000 447.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
423.000000 447.000000 moveto
(%eax,2\(%edi\))
dup
stringwidth
pop
72
exch
sub
12
div
exch
0
exch
ashow
387.000000 458.000000 moveto
(addl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
423.000000 458.000000 moveto
($6,%edi)
dup
stringwidth
pop
42
exch
sub
7
div
exch
0
exch
ashow
387.000000 469.000000 moveto
(ret)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
351.000000 492.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(The subroutine that the meta-assembler has)
dup
stringwidth
pop
193
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 504.000000 moveto
(produced above, when executed, will generate the)
dup
stringwidth
pop
223
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 516.000000 moveto
(movl instruction \(i.e. the movl instruction in the)
dup
stringwidth
pop
212
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 528.000000 moveto
(template\) followed by its argument.   The meta)
dup
stringwidth
pop
208
exch
sub
8
div
exch
0
exch
32
exch
widthshow
(-)
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
351.000000 540.000000 moveto
(assembler has deduced that "movl" in the example)
dup
stringwidth
pop
223
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 552.000000 moveto
(template is 80x86 opcode 0x8789.)
dup
stringwidth
pop
147
exch
sub
4
div
exch
0
exch
32
exch
widthshow
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 10 10
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
252.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
458.000000 753.000000 moveto
(10)
dup
stringwidth
pop
10
exch
sub
2
div
exch
0
exch
ashow
36.000000 81.000000 moveto
(Let's take a look at a more complicated template.)
dup
stringwidth
pop
216
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 93.000000 moveto
(This template handles the case where we want to)
dup
stringwidth
pop
217
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 105.000000 moveto
(bitwise OR a pattern to the destination bitmap,)
dup
stringwidth
pop
208
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 117.000000 moveto
(and the number of longs to transfer equals zero)
dup
stringwidth
pop
210
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 129.000000 moveto
(mod 4 \(e.g. if the blitter wants to OR 36 longs to)
dup
stringwidth
pop
211
exch
sub
11
div
exch
0
exch
32
exch
widthshow
36.000000 141.000000 moveto
(memory\):)
dup
stringwidth
pop
44
exch
sub
8
div
exch
0
exch
ashow
36.000000 165.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(@meta or_short_narrow_many_mod_0)
dup
stringwidth
pop
192
exch
sub
1
div
exch
0
exch
32
exch
widthshow
72.000000 176.000000 moveto
(addl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 176.000000 moveto
($@param_offset@,%edi)
dup
stringwidth
pop
120
exch
sub
20
div
exch
0
exch
ashow
36.000000 187.000000 moveto
(      movl)
dup
stringwidth
pop
60
exch
sub
6
div
exch
0
exch
32
exch
widthshow
108.000000 187.000000 moveto
($@param_l_cnt_div_4@,%ecx)
dup
stringwidth
pop
150
exch
sub
25
div
exch
0
exch
ashow
36.000000 198.000000 moveto
(1:)
dup
stringwidth
pop
12
exch
sub
2
div
exch
0
exch
ashow
72.000000 198.000000 moveto
(orl)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
108.000000 198.000000 moveto
(%eax,\(%edi\))
dup
stringwidth
pop
66
exch
sub
11
div
exch
0
exch
ashow
72.000000 209.000000 moveto
(orl)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
108.000000 209.000000 moveto
(%eax,4\(%edi\))
dup
stringwidth
pop
72
exch
sub
12
div
exch
0
exch
ashow
72.000000 220.000000 moveto
(orl)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
108.000000 220.000000 moveto
(%eax,8\(%edi\))
dup
stringwidth
pop
72
exch
sub
12
div
exch
0
exch
ashow
72.000000 231.000000 moveto
(orl)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
108.000000 231.000000 moveto
(%eax,12\(%edi\))
dup
stringwidth
pop
78
exch
sub
13
div
exch
0
exch
ashow
72.000000 242.000000 moveto
(addl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 242.000000 moveto
($16,%edi)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
72.000000 253.000000 moveto
(decl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 253.000000 moveto
(%ecx)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
72.000000 264.000000 moveto
(jnz)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
108.000000 264.000000 moveto
(1b)
dup
stringwidth
pop
12
exch
sub
2
div
exch
0
exch
ashow
36.000000 275.000000 moveto
(@lit)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
72.000000 275.000000 moveto
(leal)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 275.000000 moveto
(\(%eax,%edx,4\),%ecx)
dup
stringwidth
pop
108
exch
sub
18
div
exch
0
exch
ashow
36.000000 286.000000 moveto
(@lit)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
72.000000 286.000000 moveto
(addl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 286.000000 moveto
(%ecx,edi_offset)
dup
stringwidth
pop
90
exch
sub
15
div
exch
0
exch
ashow
36.000000 297.000000 moveto
(@endmeta)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
36.000000 320.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(The meta-assembler compiles that to this:)
dup
stringwidth
pop
184
exch
sub
5
div
exch
0
exch
32
exch
widthshow
72.000000 344.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(.align)
dup
stringwidth
pop
36
exch
sub
6
div
exch
0
exch
ashow
144.000000 344.000000 moveto
(4,0x90)
dup
stringwidth
pop
36
exch
sub
6
div
exch
0
exch
ashow
36.000000 355.000000 moveto
(_xdblt_or_short_narrow_many_mod_0:)
dup
stringwidth
pop
204
exch
sub
34
div
exch
0
exch
ashow
72.000000 366.000000 moveto
(movw)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 366.000000 moveto
($0xC781,\(%edi\))
dup
stringwidth
pop
84
exch
sub
14
div
exch
0
exch
ashow
72.000000 377.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 377.000000 moveto
(%eax,2\(%edi\))
dup
stringwidth
pop
72
exch
sub
12
div
exch
0
exch
ashow
72.000000 388.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 388.000000 moveto
($0x47090709,11\(%edi\))
dup
stringwidth
pop
120
exch
sub
20
div
exch
0
exch
ashow
72.000000 399.000000 moveto
(movb)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 399.000000 moveto
($0xB9,6\(%edi\))
dup
stringwidth
pop
78
exch
sub
13
div
exch
0
exch
ashow
72.000000 410.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 410.000000 moveto
($0x8470904,15\(%edi\))
dup
stringwidth
pop
114
exch
sub
19
div
exch
0
exch
ashow
72.000000 421.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 421.000000 moveto
($0x754910C7,23\(%edi\))
dup
stringwidth
pop
120
exch
sub
20
div
exch
0
exch
ashow
72.000000 432.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 432.000000 moveto
($0x830C4709,19\(%edi\))
dup
stringwidth
pop
120
exch
sub
20
div
exch
0
exch
ashow
72.000000 443.000000 moveto
(movb)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 443.000000 moveto
($0xEF,27\(%edi\))
dup
stringwidth
pop
84
exch
sub
14
div
exch
0
exch
ashow
72.000000 454.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 454.000000 moveto
(%edx,%ecx)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
72.000000 465.000000 moveto
(shrl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 465.000000 moveto
($2,%ecx)
dup
stringwidth
pop
42
exch
sub
7
div
exch
0
exch
ashow
72.000000 476.000000 moveto
(movl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 476.000000 moveto
(%ecx,7\(%edi\))
dup
stringwidth
pop
72
exch
sub
12
div
exch
0
exch
ashow
72.000000 487.000000 moveto
(addl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 487.000000 moveto
($28,%edi)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
72.000000 498.000000 moveto
(leal)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 498.000000 moveto
(\(%eax,%edx,4\),%ecx)
dup
stringwidth
pop
108
exch
sub
18
div
exch
0
exch
ashow
72.000000 509.000000 moveto
(addl)
dup
stringwidth
pop
24
exch
sub
4
div
exch
0
exch
ashow
108.000000 509.000000 moveto
(%ecx,edi_offset)
dup
stringwidth
pop
90
exch
sub
15
div
exch
0
exch
ashow
72.000000 520.000000 moveto
(ret)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
36.000000 543.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(This mechanically generated subroutine generates)
dup
stringwidth
pop
222
exch
sub
4
div
exch
0
exch
32
exch
widthshow
36.000000 555.000000 moveto
(the executable 80x86 binary for the)
dup
stringwidth
pop
154
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 567.000000 moveto
("or_short_narrow_many_mod_0" template.  It gets)
dup
stringwidth
pop
224
exch
sub
4
div
exch
0
exch
32
exch
widthshow
36.000000 579.000000 moveto
(called by the blitter compilation engine when it)
dup
stringwidth
pop
209
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 591.000000 moveto
(needs code to OR a bunch of longs to memory.)
dup
stringwidth
pop
207
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 615.000000 moveto
(The output of the meta-assembler isn't meant for)
dup
stringwidth
pop
216
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 627.000000 moveto
(human consumption.  As such, the output)
dup
stringwidth
pop
187
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 639.000000 moveto
(contains a hodge-podge of magic numbers)
dup
stringwidth
pop
189
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 651.000000 moveto
(\()
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(0x47090709, 0xB9, 0x8470904,)
dup
stringwidth
pop
168
exch
sub
2
div
exch
0
exch
32
exch
widthshow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
( etc.\).  These)
dup
stringwidth
pop
55
exch
sub
3
div
exch
0
exch
32
exch
widthshow
36.000000 663.000000 moveto
(numbers are fixed machine code values)
dup
stringwidth
pop
175
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 675.000000 moveto
(corresponding to opcodes, constant operands, and)
dup
stringwidth
pop
223
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 687.000000 moveto
(other values.)
dup
stringwidth
pop
57
exch
sub
1
div
exch
0
exch
32
exch
widthshow
297.000000 81.000000 moveto
(Even though this subroutine is longer than the)
dup
stringwidth
pop
206
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 93.000000 moveto
(previous example, it still doesn't take very long to)
dup
stringwidth
pop
221
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 105.000000 moveto
(execute.  Furthermore, it only gets called when the)
dup
stringwidth
pop
224
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 117.000000 moveto
(blitter has determined that many longs are to be)
dup
stringwidth
pop
213
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 129.000000 moveto
(ORed to memory, so the time taken actually)
dup
stringwidth
pop
195
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 141.000000 moveto
(blitting to memory will typically dwarf the time)
dup
stringwidth
pop
212
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 153.000000 moveto
(taken to execute these 15 code generation)
dup
stringwidth
pop
183
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 165.000000 moveto
(instructions.)
dup
stringwidth
pop
55
exch
sub
13
div
exch
0
exch
ashow
297.000000 189.000000 moveto
(The meta-assembler is a Perl script that works by)
dup
stringwidth
pop
217
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 201.000000 moveto
(running numerous syntactically modified versions)
dup
stringwidth
pop
224
exch
sub
4
div
exch
0
exch
32
exch
widthshow
297.000000 213.000000 moveto
(of the assembly template through "gas", the GNU)
dup
stringwidth
pop
219
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 225.000000 moveto
(assembler, and examining the output bytes to)
dup
stringwidth
pop
202
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 237.000000 moveto
(discover which bits are fixed opcode bits and)
dup
stringwidth
pop
200
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 249.000000 moveto
(which bits correspond to operands.  Once it has)
dup
stringwidth
pop
211
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 261.000000 moveto
(figured out what goes where, it generates 80x86)
dup
stringwidth
pop
212
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 273.000000 moveto
(assembly code which writes out the constant bytes)
dup
stringwidth
pop
224
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 285.000000 moveto
(and computes and writes out the operand bytes.)
dup
stringwidth
pop
214
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 297.000000 moveto
(That code is run through a simple Pentium)
dup
stringwidth
pop
190
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 309.000000 moveto
(instruction scheduler and the meta-assembler is)
dup
stringwidth
pop
212
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 321.000000 moveto
(done.  This entire process is, of course, done only)
dup
stringwidth
pop
217
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 333.000000 moveto
(once, when Executor is compiled.)
dup
stringwidth
pop
149
exch
sub
4
div
exch
0
exch
32
exch
widthshow
315.000000 352.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(A Portable Dynamically Recompiling)
dup
stringwidth
pop
206
exch
sub
3
div
exch
0
exch
32
exch
widthshow
315.000000 366.000000 moveto
(Blitter)
dup
stringwidth
pop
35
exch
sub
7
div
exch
0
exch
ashow
297.000000 379.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Although the meta-assembler-based blitter works)
dup
stringwidth
pop
220
exch
sub
4
div
exch
0
exch
32
exch
widthshow
297.000000 391.000000 moveto
(only on 80x86 processors, Executor itself can run)
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 403.000000 moveto
(on non-Intel processors.  On other CPUs \(such as)
dup
stringwidth
pop
217
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 415.000000 moveto
(the 68040 used in the NeXTstation\) Executor's)
dup
stringwidth
pop
203
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 427.000000 moveto
(blitter works somewhat differently.)
dup
stringwidth
pop
157
exch
sub
3
div
exch
0
exch
32
exch
widthshow
297.000000 451.000000 moveto
(The basic idea is still the same: translate Region)
dup
stringwidth
pop
210
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 463.000000 moveto
(scanlines into an efficient form once and then use)
dup
stringwidth
pop
218
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 475.000000 moveto
(that efficient form each time the scanline gets)
dup
stringwidth
pop
200
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 487.000000 moveto
(drawn.  This time, however, the "efficient form" is)
dup
stringwidth
pop
220
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 499.000000 moveto
(processor independent, and the blitter is written)
dup
stringwidth
pop
214
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 511.000000 moveto
(entirely in C.)
dup
stringwidth
pop
58
exch
sub
2
div
exch
0
exch
32
exch
widthshow
297.000000 535.000000 moveto
(As is the case with the 80x86-specific blitter, the)
dup
stringwidth
pop
211
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 547.000000 moveto
(portable blitter compilation engine examines)
dup
stringwidth
pop
198
exch
sub
4
div
exch
0
exch
32
exch
widthshow
297.000000 559.000000 moveto
(scanline start/stop pairs and identifies which of)
dup
stringwidth
pop
212
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 571.000000 moveto
(several cases is appropriate.  One case is "output)
dup
stringwidth
pop
214
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 583.000000 moveto
(three longs", another is "output only certain pixels)
dup
stringwidth
pop
222
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 595.000000 moveto
(within the current long", and so on.)
dup
stringwidth
pop
157
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 619.000000 moveto
(Like the 80x86-specific blitter, the particular case)
dup
stringwidth
pop
215
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 631.000000 moveto
(encountered determines which entry in a lookup)
dup
stringwidth
pop
216
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 643.000000 moveto
(table will be used.  But there the similarity ends.)
dup
stringwidth
pop
213
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 655.000000 moveto
(The lookup tables contain pointers to C code)
dup
stringwidth
pop
198
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 667.000000 moveto
(labels)
dup
stringwidth
pop
26
exch
sub
6
div
exch
0
exch
ashow
323.000000 664.000000 moveto
(Palatino-Roman)
[
9.000000
0.000000
0.000000
-9.000000
0.000000
0.000000
]
selectfont
(1)
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
327.000000 667.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
( rather than to routines that generates 80x86)
dup
stringwidth
pop
194
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 679.000000 moveto
(code on the fly.)
dup
stringwidth
pop
68
exch
sub
3
div
exch
0
exch
32
exch
widthshow
-4096.000000 -4096.000000 moveto
gsave
newpath
-4096.000000 -4096.000000 moveto
-4095.000000 -4096.000000 lineto
-4094.000000 -4095.000000 lineto
-4094.000000 -4094.000000 lineto
-4095.000000 -4094.000000 lineto
-4096.000000 -4095.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
297.000000 690.000000 moveto
gsave
newpath
297.000000 690.000000 moveto
440.000000 690.000000 lineto
441.000000 690.000000 lineto
441.000000 691.000000 lineto
298.000000 691.000000 lineto
297.000000 691.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
297.000000 702.000000 moveto
(Palatino-Roman)
[
9.000000
0.000000
0.000000
-9.000000
0.000000
0.000000
]
selectfont
(1)
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
301.000000 705.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
("What the heck is a pointer to a C code label?",)
dup
stringwidth
pop
205
exch
sub
10
div
exch
0
exch
32
exch
widthshow
297.000000 717.000000 moveto
(you ask?  gcc \(the GNU C compiler\) has a "pointer)
dup
stringwidth
pop
223
exch
sub
10
div
exch
0
exch
32
exch
widthshow
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 11 11
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
306.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
512.000000 753.000000 moveto
(11)
dup
stringwidth
pop
10
exch
sub
2
div
exch
0
exch
ashow
90.000000 93.000000 moveto
(Each scanline gets translated into an array of)
dup
stringwidth
pop
198
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 105.000000 moveto
(opcodes for the "blitter opcode interpreter" \(which)
dup
stringwidth
pop
223
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 117.000000 moveto
(will be described below\).  Each opcode is stored in)
dup
stringwidth
pop
223
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 129.000000 moveto
(one of these C structs:)
dup
stringwidth
pop
97
exch
sub
4
div
exch
0
exch
32
exch
widthshow
90.000000 153.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(struct)
dup
stringwidth
pop
36
exch
sub
6
div
exch
0
exch
ashow
90.000000 164.000000 moveto
({)
dup
stringwidth
pop
6
exch
sub
1
div
exch
0
exch
ashow
90.000000 175.000000 moveto
(  /* Pointer to C code to handle)
dup
stringwidth
pop
192
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 186.000000 moveto
(     this opcode. */)
dup
stringwidth
pop
120
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 197.000000 moveto
(  const void *label;)
dup
stringwidth
pop
120
exch
sub
4
div
exch
0
exch
32
exch
widthshow
90.000000 219.000000 moveto
(  /* Offset into scanline */)
dup
stringwidth
pop
168
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 230.000000 moveto
(  int32 offset;)
dup
stringwidth
pop
90
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 252.000000 moveto
(  /* Extra operand with)
dup
stringwidth
pop
138
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 263.000000 moveto
(     different uses. */)
dup
stringwidth
pop
138
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 274.000000 moveto
(  int32 arg;)
dup
stringwidth
pop
72
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 285.000000 moveto
(};)
dup
stringwidth
pop
12
exch
sub
2
div
exch
0
exch
ashow
90.000000 308.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(For example, consider the case where the blitter)
dup
stringwidth
pop
211
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 320.000000 moveto
(wants to write out five contiguous longs from a)
dup
stringwidth
pop
210
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 332.000000 moveto
("simple" pattern starting 64 bytes into the current)
dup
stringwidth
pop
218
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 344.000000 moveto
(row.  In this case, "label" would equal)
dup
stringwidth
pop
166
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 356.000000 moveto
("&&copy_short_narrow_many_5", "offset" would)
dup
stringwidth
pop
219
exch
sub
2
div
exch
0
exch
32
exch
widthshow
90.000000 368.000000 moveto
(equal 64, and "arg" would equal 5.)
dup
stringwidth
pop
152
exch
sub
6
div
exch
0
exch
32
exch
widthshow
108.000000 387.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(The Blitter Opcode Interpreter)
dup
stringwidth
pop
167
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 400.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(The blitter opcode interpreter is machine)
dup
stringwidth
pop
181
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 412.000000 moveto
(generated C code created by a Perl script when)
dup
stringwidth
pop
208
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 424.000000 moveto
(Executor is compiled.  That Perl script takes as)
dup
stringwidth
pop
206
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 436.000000 moveto
(input C code snippets that tell it how to handle)
dup
stringwidth
pop
208
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 448.000000 moveto
(particular drawing modes, and produces as output)
dup
stringwidth
pop
226
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 460.000000 moveto
(C code for an interpreter.)
dup
stringwidth
pop
112
exch
sub
4
div
exch
0
exch
32
exch
widthshow
90.000000 484.000000 moveto
(Here is the template taken as input by the Perl)
dup
stringwidth
pop
205
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 496.000000 moveto
(script for the "copy_short_narrow" case.  This is)
dup
stringwidth
pop
211
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 508.000000 moveto
(the simple case where the pixels for the pattern)
dup
stringwidth
pop
209
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 520.000000 moveto
(being displayed can be stored entirely within one)
dup
stringwidth
pop
219
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 532.000000 moveto
(32-bit long \(for example, solid white or solid)
dup
stringwidth
pop
197
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 544.000000 moveto
(black\).)
dup
stringwidth
pop
30
exch
sub
7
div
exch
0
exch
ashow
90.000000 568.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(begin_mode cpy_shrt_narrow max_unwrap)
dup
stringwidth
pop
222
exch
sub
2
div
exch
0
exch
32
exch
widthshow
90.000000 579.000000 moveto
( repeat)
dup
stringwidth
pop
42
exch
sub
1
div
exch
0
exch
32
exch
widthshow
162.000000 579.000000 moveto
(@dst@ = v;)
dup
stringwidth
pop
60
exch
sub
2
div
exch
0
exch
32
exch
widthshow
90.000000 590.000000 moveto
( mask)
dup
stringwidth
pop
30
exch
sub
1
div
exch
0
exch
32
exch
widthshow
126.000000 590.000000 moveto
(      @dst@ = \(@dst@ & ~arg\))
dup
stringwidth
pop
168
exch
sub
10
div
exch
0
exch
32
exch
widthshow
198.000000 601.000000 moveto
(| \(v & arg\);)
dup
stringwidth
pop
72
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 612.000000 moveto
(end_mode)
dup
stringwidth
pop
48
exch
sub
8
div
exch
0
exch
ashow
-4096.000000 -4096.000000 moveto
gsave
newpath
-4096.000000 -4096.000000 moveto
-4095.000000 -4096.000000 lineto
-4094.000000 -4095.000000 lineto
-4094.000000 -4094.000000 lineto
-4095.000000 -4094.000000 lineto
-4096.000000 -4095.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
90.000000 630.000000 moveto
gsave
newpath
90.000000 630.000000 moveto
314.000000 630.000000 lineto
315.000000 630.000000 lineto
315.000000 631.000000 lineto
91.000000 631.000000 lineto
90.000000 631.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
90.000000 645.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(to label" extension to the C language which makes)
dup
stringwidth
pop
222
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 657.000000 moveto
(the statement ")
dup
stringwidth
pop
66
exch
sub
2
div
exch
0
exch
32
exch
widthshow
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(&&my_label")
dup
stringwidth
pop
66
exch
sub
11
div
exch
0
exch
ashow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
( evaluate to a)
dup
stringwidth
pop
59
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 669.000000 moveto
(")
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(void *)
dup
stringwidth
pop
36
exch
sub
1
div
exch
0
exch
32
exch
widthshow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(" that points to the compiled code for)
dup
stringwidth
pop
164
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 681.000000 moveto
(")
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(my_label:)
dup
stringwidth
pop
54
exch
sub
9
div
exch
0
exch
ashow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(" within a C function. This, combined)
dup
stringwidth
pop
165
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 693.000000 moveto
(with gcc's ")
dup
stringwidth
pop
50
exch
sub
2
div
exch
0
exch
32
exch
widthshow
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(goto void *)
dup
stringwidth
pop
66
exch
sub
2
div
exch
0
exch
32
exch
widthshow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(" extension, allows C)
dup
stringwidth
pop
92
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 705.000000 moveto
(programs to execute goto statements whose)
dup
stringwidth
pop
194
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 717.000000 moveto
(destinations are not known at compile time.)
dup
stringwidth
pop
194
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 93.000000 moveto
(The ")
dup
stringwidth
pop
23
exch
sub
1
div
exch
0
exch
32
exch
widthshow
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(repeat)
dup
stringwidth
pop
36
exch
sub
6
div
exch
0
exch
ashow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(" field tells the Perl script what C)
dup
stringwidth
pop
146
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 105.000000 moveto
(code to generate for the simple case where all)
dup
stringwidth
pop
201
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 117.000000 moveto
(pixels in the destination long are to be affected.)
dup
stringwidth
pop
209
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 129.000000 moveto
(The "mask" case tells it what to do when it must)
dup
stringwidth
pop
212
exch
sub
10
div
exch
0
exch
32
exch
widthshow
351.000000 141.000000 moveto
(only modify certain bits in the target long and)
dup
stringwidth
pop
204
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 153.000000 moveto
(must leave others alone.  Max_unwrap tells the)
dup
stringwidth
pop
209
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 165.000000 moveto
(Perl script to unroll the new blitting loop.)
dup
stringwidth
pop
184
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 189.000000 moveto
(The generated interpreter takes as input an array)
dup
stringwidth
pop
217
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 201.000000 moveto
(of blitter opcode structs, which it then proceeds to)
dup
stringwidth
pop
222
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 213.000000 moveto
(interpret once for each row to be drawn.)
dup
stringwidth
pop
179
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 237.000000 moveto
(Here is the section of the \(machine-generated\))
dup
stringwidth
pop
204
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 249.000000 moveto
(interpreter that handles the copy_short_narrow)
dup
stringwidth
pop
211
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 261.000000 moveto
(cases.  Remember that each "blitter opcode" is)
dup
stringwidth
pop
202
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 273.000000 moveto
(really just a pointer to one of these C labels.  This)
dup
stringwidth
pop
217
exch
sub
11
div
exch
0
exch
32
exch
widthshow
351.000000 285.000000 moveto
(code would get used when filling a rectangle with)
dup
stringwidth
pop
222
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 297.000000 moveto
(a solid color.)
dup
stringwidth
pop
57
exch
sub
2
div
exch
0
exch
32
exch
widthshow
351.000000 321.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(copy_short_narrow_mask:)
dup
stringwidth
pop
138
exch
sub
23
div
exch
0
exch
ashow
351.000000 332.000000 moveto
(  *dst = \(*dst & ~arg\) | \(v & arg\);)
dup
stringwidth
pop
210
exch
sub
10
div
exch
0
exch
32
exch
widthshow
351.000000 343.000000 moveto
(  JUMP_TO_NEXT;)
dup
stringwidth
pop
90
exch
sub
2
div
exch
0
exch
32
exch
widthshow
351.000000 354.000000 moveto
(copy_short_narrow_many_loop:)
dup
stringwidth
pop
168
exch
sub
28
div
exch
0
exch
ashow
351.000000 365.000000 moveto
(  dst += 8;)
dup
stringwidth
pop
66
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 376.000000 moveto
(copy_short_narrow_many_8:)
dup
stringwidth
pop
150
exch
sub
25
div
exch
0
exch
ashow
351.000000 387.000000 moveto
(  dst[0] = v;)
dup
stringwidth
pop
78
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 398.000000 moveto
(copy_short_narrow_many_7:)
dup
stringwidth
pop
150
exch
sub
25
div
exch
0
exch
ashow
351.000000 409.000000 moveto
(  dst[1] = v;)
dup
stringwidth
pop
78
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 420.000000 moveto
(copy_short_narrow_many_6:)
dup
stringwidth
pop
150
exch
sub
25
div
exch
0
exch
ashow
351.000000 431.000000 moveto
(  dst[2] = v;)
dup
stringwidth
pop
78
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 442.000000 moveto
(copy_short_narrow_many_5:)
dup
stringwidth
pop
150
exch
sub
25
div
exch
0
exch
ashow
351.000000 453.000000 moveto
(  dst[3] = v;)
dup
stringwidth
pop
78
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 464.000000 moveto
(copy_short_narrow_many_4:)
dup
stringwidth
pop
150
exch
sub
25
div
exch
0
exch
ashow
351.000000 475.000000 moveto
(  dst[4] = v;)
dup
stringwidth
pop
78
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 486.000000 moveto
(copy_short_narrow_many_3:)
dup
stringwidth
pop
150
exch
sub
25
div
exch
0
exch
ashow
351.000000 497.000000 moveto
(  dst[5] = v;)
dup
stringwidth
pop
78
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 508.000000 moveto
(copy_short_narrow_many_2:)
dup
stringwidth
pop
150
exch
sub
25
div
exch
0
exch
ashow
351.000000 519.000000 moveto
(  dst[6] = v;)
dup
stringwidth
pop
78
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 530.000000 moveto
(copy_short_narrow_many_1:)
dup
stringwidth
pop
150
exch
sub
25
div
exch
0
exch
ashow
351.000000 541.000000 moveto
(  dst[7] = v;)
dup
stringwidth
pop
78
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 552.000000 moveto
(  if \(\(arg -= 8\) > 0\))
dup
stringwidth
pop
126
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 563.000000 moveto
(    goto copy_short_narrow_many_loop;)
dup
stringwidth
pop
222
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 574.000000 moveto
(  JUMP_TO_NEXT;)
dup
stringwidth
pop
90
exch
sub
2
div
exch
0
exch
32
exch
widthshow
351.000000 597.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Note how the inner blitting loop is "unwrapped")
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 609.000000 moveto
(for speed.  A blitter opcode would specify that 39)
dup
stringwidth
pop
218
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 621.000000 moveto
(longs are to be output by making its "arg" field be)
dup
stringwidth
pop
220
exch
sub
10
div
exch
0
exch
32
exch
widthshow
351.000000 633.000000 moveto
(39 and the "label" field point to)
dup
stringwidth
pop
137
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 645.000000 moveto
("copy_short_narrow_many_7", in the middle of)
dup
stringwidth
pop
210
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 657.000000 moveto
(the unwrapped loop \(39 mod 8 equals 7\).  The)
dup
stringwidth
pop
204
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 669.000000 moveto
(interpreter would jump there and loop until all of)
dup
stringwidth
pop
220
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 681.000000 moveto
(the pixels had been written out, at 32 bytes per)
dup
stringwidth
pop
207
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 693.000000 moveto
(loop iteration.  This is very fast, especially for)
dup
stringwidth
pop
201
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 705.000000 moveto
(portable code.)
dup
stringwidth
pop
63
exch
sub
1
div
exch
0
exch
32
exch
widthshow
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 12 12
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
252.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
458.000000 753.000000 moveto
(12)
dup
stringwidth
pop
10
exch
sub
2
div
exch
0
exch
ashow
36.000000 81.000000 moveto
(Of course, if any other pixels needed to be drawn,)
dup
stringwidth
pop
221
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 93.000000 moveto
(there would be additional blitter opcode structs)
dup
stringwidth
pop
211
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 105.000000 moveto
(telling the interpreter what to do. The interpreter)
dup
stringwidth
pop
217
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 117.000000 moveto
(dispatches to the next opcode by executing the)
dup
stringwidth
pop
206
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 129.000000 moveto
("JUMP_TO_NEXT" macro, which automatically)
dup
stringwidth
pop
211
exch
sub
3
div
exch
0
exch
32
exch
widthshow
36.000000 141.000000 moveto
(uses GCC's "goto void *" extension to "goto" the C)
dup
stringwidth
pop
221
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 153.000000 moveto
(label that handles the next opcode.)
dup
stringwidth
pop
154
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 178.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Development Tools)
dup
stringwidth
pop
111
exch
sub
1
div
exch
0
exch
32
exch
widthshow
gsave
newpath
36.000000
178.000000
12.000000
(Helvetica-Bold)
findfont
dup
(FontInfo)
known {
dup
(FontMatrix)
get
3
get
2 index
mul
1 index
(FontInfo)
get
dup
(UnderlineThickness)
get
2 index
mul
setlinewidth
(UnderlinePosition)
get
mul
3 1 roll
pop
pop
sub
}
{
pop
pop
}
ifelse
moveto
111.000000 0.000000 rlineto
stroke
grestore
36.000000 197.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Free Software)
dup
stringwidth
pop
80
exch
sub
1
div
exch
0
exch
32
exch
widthshow
36.000000 209.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(It is true that ARDI has a very tight R&D budget,)
dup
stringwidth
pop
217
exch
sub
10
div
exch
0
exch
32
exch
widthshow
36.000000 221.000000 moveto
(but we really don't skimp on the tools that we use)
dup
stringwidth
pop
221
exch
sub
10
div
exch
0
exch
32
exch
widthshow
36.000000 233.000000 moveto
(to build Executor.  We use free software to)
dup
stringwidth
pop
188
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 245.000000 moveto
(develop Executor because we like to push the tools)
dup
stringwidth
pop
225
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 257.000000 moveto
(that we use very hard and the only way we can do)
dup
stringwidth
pop
224
exch
sub
11
div
exch
0
exch
32
exch
widthshow
36.000000 269.000000 moveto
(that and still sleep at night is when we know that)
dup
stringwidth
pop
218
exch
sub
10
div
exch
0
exch
32
exch
widthshow
36.000000 281.000000 moveto
(if we find bugs in our tools that they can be fixed)
dup
stringwidth
pop
217
exch
sub
11
div
exch
0
exch
32
exch
widthshow
36.000000 293.000000 moveto
(quickly.  With free software the worst case is to fix)
dup
stringwidth
pop
223
exch
sub
10
div
exch
0
exch
32
exch
widthshow
36.000000 305.000000 moveto
(bugs ourselves, and that worst case is actually)
dup
stringwidth
pop
204
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 317.000000 moveto
(much better than the average case with non-free)
dup
stringwidth
pop
213
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 329.000000 moveto
(software where you report a bug and pray for a)
dup
stringwidth
pop
211
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 341.000000 moveto
(patch.  In reality it's rare that we even have to)
dup
stringwidth
pop
202
exch
sub
10
div
exch
0
exch
32
exch
widthshow
36.000000 353.000000 moveto
(resort to the worst case since bugs reported are)
dup
stringwidth
pop
208
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 365.000000 moveto
(often fixed in less than a day.)
dup
stringwidth
pop
129
exch
sub
6
div
exch
0
exch
32
exch
widthshow
54.000000 384.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(GCC)
dup
stringwidth
pop
28
exch
sub
3
div
exch
0
exch
ashow
36.000000 397.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(GCC is the Free Software Foundation's C compiler.)
dup
stringwidth
pop
226
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 409.000000 moveto
(It produces good code and has a powerful inline)
dup
stringwidth
pop
214
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 421.000000 moveto
(assembly syntax that allows optimization to be)
dup
stringwidth
pop
208
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 433.000000 moveto
(done on the expressions in the inline assembly)
dup
stringwidth
pop
206
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 445.000000 moveto
(without the optimization ruining the assembly)
dup
stringwidth
pop
207
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 457.000000 moveto
(you've written.)
dup
stringwidth
pop
67
exch
sub
1
div
exch
0
exch
32
exch
widthshow
36.000000 481.000000 moveto
(Another handy GCC extension is ")
dup
stringwidth
pop
153
exch
sub
5
div
exch
0
exch
32
exch
widthshow
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(typeof)
dup
stringwidth
pop
36
exch
sub
6
div
exch
0
exch
ashow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(" which)
dup
stringwidth
pop
34
exch
sub
1
div
exch
0
exch
32
exch
widthshow
36.000000 493.000000 moveto
(can be used in macros to cast a value to the type of)
dup
stringwidth
pop
224
exch
sub
12
div
exch
0
exch
32
exch
widthshow
36.000000 505.000000 moveto
(a different value.  The combination of powerful)
dup
stringwidth
pop
210
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 517.000000 moveto
(inline assembly and typeof allows us to have)
dup
stringwidth
pop
199
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 529.000000 moveto
(efficient macros that swap bytes in a 16 bit or 32)
dup
stringwidth
pop
212
exch
sub
10
div
exch
0
exch
32
exch
widthshow
36.000000 541.000000 moveto
(bit quantity.  Since the Mac and PC are of different)
dup
stringwidth
pop
224
exch
sub
10
div
exch
0
exch
32
exch
widthshow
36.000000 553.000000 moveto
(endianness, quick byte swapping routines are very)
dup
stringwidth
pop
225
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 565.000000 moveto
(important.)
dup
stringwidth
pop
47
exch
sub
10
div
exch
0
exch
ashow
36.000000 589.000000 moveto
(As mentioned above in our synthetic CPU and)
dup
stringwidth
pop
206
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 601.000000 moveto
(portable blitter descriptions, we also use GCC's)
dup
stringwidth
pop
210
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 613.000000 moveto
(ability to take the address of a label and store it in)
dup
stringwidth
pop
220
exch
sub
11
div
exch
0
exch
32
exch
widthshow
36.000000 625.000000 moveto
(a variable so that we can produce our own)
dup
stringwidth
pop
188
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 637.000000 moveto
(threaded code on the fly.)
dup
stringwidth
pop
111
exch
sub
4
div
exch
0
exch
32
exch
widthshow
54.000000 656.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Hacked GCC)
dup
stringwidth
pop
73
exch
sub
1
div
exch
0
exch
32
exch
widthshow
36.000000 669.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Because the source to GCC is available, it is)
dup
stringwidth
pop
192
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 681.000000 moveto
(possible, although not necessarily advisable, to)
dup
stringwidth
pop
208
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 693.000000 moveto
(hack in custom extensions.  At ARDI we've done)
dup
stringwidth
pop
216
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 705.000000 moveto
(this twice in the past.  At one time we used a set of)
dup
stringwidth
pop
224
exch
sub
13
div
exch
0
exch
32
exch
widthshow
36.000000 717.000000 moveto
(locally written modifications to support the pascal)
dup
stringwidth
pop
223
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 81.000000 moveto
(keyword so that we could automatically call)
dup
stringwidth
pop
196
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 93.000000 moveto
(functions using Pascal calling conventions.  At the)
dup
stringwidth
pop
222
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 105.000000 moveto
(same time we also supported ')
dup
stringwidth
pop
134
exch
sub
5
div
exch
0
exch
32
exch
widthshow
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(1234')
dup
stringwidth
pop
30
exch
sub
5
div
exch
0
exch
ashow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
( \(i.e. the)
dup
stringwidth
pop
35
exch
sub
2
div
exch
0
exch
32
exch
widthshow
297.000000 117.000000 moveto
(ability to construct a 32-bit quantity out of four)
dup
stringwidth
pop
208
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 129.000000 moveto
(character constants inside apostrophes\).)
dup
stringwidth
pop
177
exch
sub
3
div
exch
0
exch
32
exch
widthshow
297.000000 141.000000 moveto
(Eventually we decided that we didn't get enough)
dup
stringwidth
pop
218
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 153.000000 moveto
(benefit from these extensions to make it worth)
dup
stringwidth
pop
205
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 165.000000 moveto
(patching new versions of GCC as they came out.)
dup
stringwidth
pop
215
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 189.000000 moveto
(The other time we modified GCC was when we)
dup
stringwidth
pop
211
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 201.000000 moveto
(were porting Executor to DEC's Alpha processor.)
dup
stringwidth
pop
218
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 213.000000 moveto
(We were doing this under OSF/1 which uses 64)
dup
stringwidth
pop
212
exch
sub
8
div
exch
0
exch
32
exch
widthshow
(-)
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
297.000000 225.000000 moveto
(bit pointers.  Since Executor needs to use the same)
dup
stringwidth
pop
222
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 237.000000 moveto
(internal representation that Macs use, we wanted a)
dup
stringwidth
pop
226
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 249.000000 moveto
(way to easily write 32-bit pointers to memory in)
dup
stringwidth
pop
213
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 261.000000 moveto
(such a way that they would be extended to 64-bits)
dup
stringwidth
pop
222
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 273.000000 moveto
(when they were read into a register for use.  To do)
dup
stringwidth
pop
223
exch
sub
11
div
exch
0
exch
32
exch
widthshow
297.000000 285.000000 moveto
(this we made GCC support "pointer bit fields", a)
dup
stringwidth
pop
214
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 297.000000 moveto
(logical extension that allowed bit-field notation to)
dup
stringwidth
pop
221
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 309.000000 moveto
(be used when specifying pointers.  At that time we)
dup
stringwidth
pop
225
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 321.000000 moveto
(didn't have a resident GCC expert, so we were)
dup
stringwidth
pop
206
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 333.000000 moveto
(lucky that such modifications basically consisted)
dup
stringwidth
pop
216
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 345.000000 moveto
(in taking out a few checks that disallowed such)
dup
stringwidth
pop
209
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 357.000000 moveto
(constructs.  Once those checks were removed,)
dup
stringwidth
pop
203
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 369.000000 moveto
(pointer bit-fields, "just worked".)
dup
stringwidth
pop
142
exch
sub
3
div
exch
0
exch
32
exch
widthshow
315.000000 388.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(DJGPP)
dup
stringwidth
pop
40
exch
sub
5
div
exch
0
exch
ashow
297.000000 401.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(DJGPP is DJ Delorie's \(see)
dup
stringwidth
pop
115
exch
sub
4
div
exch
0
exch
32
exch
widthshow
297.000000 413.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(http://www.delorie.com)
dup
stringwidth
pop
132
exch
sub
22
div
exch
0
exch
ashow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(\) port of GCC to)
dup
stringwidth
pop
72
exch
sub
4
div
exch
0
exch
32
exch
widthshow
297.000000 425.000000 moveto
(MSDOS.  It allows DOS users to compile UNIX)
dup
stringwidth
pop
208
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 437.000000 moveto
(programs under DOS and to run them with little)
dup
stringwidth
pop
216
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 449.000000 moveto
(or no modification.  DJGPP is GCC and associated)
dup
stringwidth
pop
222
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 461.000000 moveto
(development tools with a special UNIX like C)
dup
stringwidth
pop
203
exch
sub
7
div
exch
0
exch
32
exch
widthshow
(-)
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
297.000000 473.000000 moveto
(library and a "DOS Extender".  DOS extenders are)
dup
stringwidth
pop
220
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 485.000000 moveto
(used to combat OS inferiority.  DOS is a 16-bit OS,)
dup
stringwidth
pop
222
exch
sub
10
div
exch
0
exch
32
exch
widthshow
297.000000 497.000000 moveto
(whereas most relatively modern OSes are 32-bit.)
dup
stringwidth
pop
214
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 509.000000 moveto
(DOS extenders allow 32-bit programs to run under)
dup
stringwidth
pop
226
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 521.000000 moveto
(DOS.  Executor is one such program.  In fact, we)
dup
stringwidth
pop
214
exch
sub
10
div
exch
0
exch
32
exch
widthshow
297.000000 533.000000 moveto
(use the djgpp libraries and DOS extender but we)
dup
stringwidth
pop
216
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 545.000000 moveto
(don't actually use the DOS port of GCC, because)
dup
stringwidth
pop
215
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 557.000000 moveto
(we don't like DOS.  We like Linux and GCC is well)
dup
stringwidth
pop
225
exch
sub
11
div
exch
0
exch
32
exch
widthshow
297.000000 569.000000 moveto
(structured so we can do cross-compilation and)
dup
stringwidth
pop
207
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 581.000000 moveto
(cross-linking with the djgpp libraries and build)
dup
stringwidth
pop
209
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 593.000000 moveto
(our DOS product under Linux.  We completely)
dup
stringwidth
pop
208
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 605.000000 moveto
(compile the DOS version of Executor under Linux.)
dup
stringwidth
pop
224
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 617.000000 moveto
(We then copy the new Executor binary to a DOS)
dup
stringwidth
pop
214
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 629.000000 moveto
(partition, reboot to DOS, test Executor and then)
dup
stringwidth
pop
211
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 641.000000 moveto
(get the heck out of DOS.  Time spent using)
dup
stringwidth
pop
189
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 653.000000 moveto
(Executor is more like a Mac than it is like DOS.)
dup
stringwidth
pop
208
exch
sub
10
div
exch
0
exch
32
exch
widthshow
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 13 13
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
306.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
512.000000 753.000000 moveto
(13)
dup
stringwidth
pop
10
exch
sub
2
div
exch
0
exch
ashow
90.000000 94.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Debugging Tools)
dup
stringwidth
pop
98
exch
sub
1
div
exch
0
exch
32
exch
widthshow
gsave
newpath
90.000000
94.000000
12.000000
(Helvetica-Bold)
findfont
dup
(FontInfo)
known {
dup
(FontMatrix)
get
3
get
2 index
mul
1 index
(FontInfo)
get
dup
(UnderlineThickness)
get
2 index
mul
setlinewidth
(UnderlinePosition)
get
mul
3 1 roll
pop
pop
sub
}
{
pop
pop
}
ifelse
moveto
98.000000 0.000000 rlineto
stroke
grestore
90.000000 106.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Internally we have many debugging tools to help)
dup
stringwidth
pop
218
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 118.000000 moveto
(us figure out why an application may die or)
dup
stringwidth
pop
195
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 130.000000 moveto
(misbehave under Executor.)
dup
stringwidth
pop
121
exch
sub
2
div
exch
0
exch
32
exch
widthshow
90.000000 149.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(More Free Software)
dup
stringwidth
pop
112
exch
sub
2
div
exch
0
exch
32
exch
widthshow
108.000000 168.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(GDB in General)
dup
stringwidth
pop
90
exch
sub
2
div
exch
0
exch
32
exch
widthshow
90.000000 181.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Almost all of our debugging is done under the)
dup
stringwidth
pop
206
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 193.000000 moveto
(GDB debugger.  As with GCC, we're not using)
dup
stringwidth
pop
206
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 205.000000 moveto
(GDB because it's the free debugger; we're using)
dup
stringwidth
pop
211
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 217.000000 moveto
(the free debugger because it's GDB.  GDB is quite)
dup
stringwidth
pop
218
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 229.000000 moveto
(powerful.)
dup
stringwidth
pop
44
exch
sub
9
div
exch
0
exch
ashow
90.000000 253.000000 moveto
(Whenever we find that a given application fails)
dup
stringwidth
pop
210
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 265.000000 moveto
(under Executor, we try to reproduce the failure)
dup
stringwidth
pop
209
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 277.000000 moveto
(under Linux.  Debugging on a system that has)
dup
stringwidth
pop
205
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 289.000000 moveto
(complete memory protection and pre-emptive)
dup
stringwidth
pop
205
exch
sub
4
div
exch
0
exch
32
exch
widthshow
90.000000 301.000000 moveto
(multi-tasking means that your system stays up)
dup
stringwidth
pop
207
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 313.000000 moveto
(even when your application crashes.  There's also)
dup
stringwidth
pop
219
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 325.000000 moveto
(no need to worry that when a program is)
dup
stringwidth
pop
182
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 337.000000 moveto
(misbehaving that it's subtly corrupting other)
dup
stringwidth
pop
198
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 349.000000 moveto
(programs on the system.)
dup
stringwidth
pop
110
exch
sub
3
div
exch
0
exch
32
exch
widthshow
108.000000 362.000000 moveto
(Palatino-Roman)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(hardware watch points)
dup
stringwidth
pop
123
exch
sub
2
div
exch
0
exch
32
exch
widthshow
gsave
newpath
108.000000
362.000000
12.000000
(Palatino-Roman)
findfont
dup
(FontInfo)
known {
dup
(FontMatrix)
get
3
get
2 index
mul
1 index
(FontInfo)
get
dup
(UnderlineThickness)
get
2 index
mul
setlinewidth
(UnderlinePosition)
get
mul
3 1 roll
pop
pop
sub
}
{
pop
pop
}
ifelse
moveto
123.000000 0.000000 rlineto
stroke
grestore
90.000000 375.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Beyond the features that are handed to us due to)
dup
stringwidth
pop
215
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 387.000000 moveto
(the underlying robustness of the OS, GDB also)
dup
stringwidth
pop
206
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 399.000000 moveto
(supports hardware watch points, at least on 80x86)
dup
stringwidth
pop
222
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 411.000000 moveto
(based PCs.  "80x86"s have the ability to use)
dup
stringwidth
pop
190
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 423.000000 moveto
(hardware to watch a small set of memory locations)
dup
stringwidth
pop
226
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 435.000000 moveto
(to see when they change.  Since the checking is)
dup
stringwidth
pop
207
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 447.000000 moveto
(done by hardware, the program runs at full speed)
dup
stringwidth
pop
221
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 459.000000 moveto
(until the memory location is modified, at which)
dup
stringwidth
pop
211
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 471.000000 moveto
(point the debugger stops, tells us which)
dup
stringwidth
pop
177
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 483.000000 moveto
(instruction modified which memory address and)
dup
stringwidth
pop
218
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 495.000000 moveto
(what the old and new values are for that address.)
dup
stringwidth
pop
219
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 519.000000 moveto
(As an example, assume we want to know when)
dup
stringwidth
pop
211
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 531.000000 moveto
(the low-memory global )
dup
stringwidth
pop
107
exch
sub
3
div
exch
0
exch
32
exch
widthshow
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(TheMenu)
dup
stringwidth
pop
42
exch
sub
7
div
exch
0
exch
ashow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
( is changing,)
dup
stringwidth
pop
56
exch
sub
2
div
exch
0
exch
32
exch
widthshow
90.000000 543.000000 moveto
(here is how it might look under GDB:)
dup
stringwidth
pop
167
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 567.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(\(gdb\) watch TheMenu)
dup
stringwidth
pop
114
exch
sub
2
div
exch
0
exch
32
exch
widthshow
90.000000 578.000000 moveto
(Hardware watchpoint 1: TheMenu)
dup
stringwidth
pop
180
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 589.000000 moveto
(\(gdb\) c)
dup
stringwidth
pop
42
exch
sub
1
div
exch
0
exch
32
exch
widthshow
90.000000 600.000000 moveto
(Continuing.)
dup
stringwidth
pop
66
exch
sub
11
div
exch
0
exch
ashow
90.000000 611.000000 moveto
(Hardware watchpoint 1: TheMenu)
dup
stringwidth
pop
180
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 633.000000 moveto
(Old value = 0)
dup
stringwidth
pop
78
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 644.000000 moveto
(New value = 768)
dup
stringwidth
pop
90
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 655.000000 moveto
(C_HiliteMenu \(mid=3\) at menu.c:877)
dup
stringwidth
pop
204
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 666.000000 moveto
(\(gdb\) swap16 768)
dup
stringwidth
pop
96
exch
sub
2
div
exch
0
exch
32
exch
widthshow
90.000000 677.000000 moveto
($2 = 0x3)
dup
stringwidth
pop
48
exch
sub
2
div
exch
0
exch
32
exch
widthshow
90.000000 688.000000 moveto
(\(gdb\) c)
dup
stringwidth
pop
42
exch
sub
1
div
exch
0
exch
32
exch
widthshow
90.000000 699.000000 moveto
(Continuing.)
dup
stringwidth
pop
66
exch
sub
11
div
exch
0
exch
ashow
90.000000 710.000000 moveto
(Hardware watchpoint 1: TheMenu)
dup
stringwidth
pop
180
exch
sub
3
div
exch
0
exch
32
exch
widthshow
351.000000 92.000000 moveto
(Old value = 768)
dup
stringwidth
pop
90
exch
sub
3
div
exch
0
exch
32
exch
widthshow
351.000000 103.000000 moveto
(New value = 0)
dup
stringwidth
pop
78
exch
sub
3
div
exch
0
exch
32
exch
widthshow
351.000000 114.000000 moveto
(C_HiliteMenu \(mid=0\) at menu.c:877)
dup
stringwidth
pop
204
exch
sub
3
div
exch
0
exch
32
exch
widthshow
351.000000 125.000000 moveto
(\(gdb\) delete 3)
dup
stringwidth
pop
84
exch
sub
2
div
exch
0
exch
32
exch
widthshow
351.000000 136.000000 moveto
(\(gdb\) c)
dup
stringwidth
pop
42
exch
sub
1
div
exch
0
exch
32
exch
widthshow
351.000000 147.000000 moveto
(Continuing.)
dup
stringwidth
pop
66
exch
sub
11
div
exch
0
exch
ashow
351.000000 170.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(At the first )
dup
stringwidth
pop
51
exch
sub
3
div
exch
0
exch
32
exch
widthshow
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(\(gdb\) )
dup
stringwidth
pop
36
exch
sub
1
div
exch
0
exch
32
exch
widthshow
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(prompt above, we tell GDB)
dup
stringwidth
pop
121
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 182.000000 moveto
(that we want to be alerted whenever the)
dup
stringwidth
pop
179
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 194.000000 moveto
(expression "TheMenu" changes.  GDB is clever)
dup
stringwidth
pop
206
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 206.000000 moveto
(enough to realize that it can watch that expression)
dup
stringwidth
pop
222
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 218.000000 moveto
(with a hardware watchpoint, so it assigns)
dup
stringwidth
pop
184
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 230.000000 moveto
(watchpoint 1 to the task.  We then continue, which)
dup
stringwidth
pop
224
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 242.000000 moveto
(allows Executor to continue running whatever)
dup
stringwidth
pop
206
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 254.000000 moveto
(program it was already running.)
dup
stringwidth
pop
145
exch
sub
4
div
exch
0
exch
32
exch
widthshow
496.000000 251.000000 moveto
(Palatino-Roman)
[
9.000000
0.000000
0.000000
-9.000000
0.000000
0.000000
]
selectfont
(2)
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
351.000000 278.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Eventually, when the menu bar was accessed,)
dup
stringwidth
pop
203
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 290.000000 moveto
(GDB told us that TheMenu had changed from 0 to)
dup
stringwidth
pop
222
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 302.000000 moveto
(768.  768 may sound like a weird value for)
dup
stringwidth
pop
187
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 314.000000 moveto
(TheMenu to take, but this is on a byte swapped)
dup
stringwidth
pop
210
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 326.000000 moveto
(machine, so we need to swap that 16-bit value to)
dup
stringwidth
pop
215
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 338.000000 moveto
(see what the TheMenu would look like to a Mac)
dup
stringwidth
pop
213
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 350.000000 moveto
(program and we find that it's 3, a sane value for)
dup
stringwidth
pop
212
exch
sub
10
div
exch
0
exch
32
exch
widthshow
351.000000 362.000000 moveto
(TheMenu, after all.  We let the program continue)
dup
stringwidth
pop
216
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 374.000000 moveto
(and later TheMenu is changed back to zero.)
dup
stringwidth
pop
193
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 398.000000 moveto
(You can't see it, but in another window the source)
dup
stringwidth
pop
222
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 410.000000 moveto
(to Executor is displayed so that we are)
dup
stringwidth
pop
171
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 422.000000 moveto
(automatically shown the 877th line of menu.c)
dup
stringwidth
pop
201
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 434.000000 moveto
(when GDB's watch point triggers there.)
dup
stringwidth
pop
175
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 458.000000 moveto
(The argument to the watch command is an)
dup
stringwidth
pop
190
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 470.000000 moveto
(arbitrary expression, so it is possible to watch for)
dup
stringwidth
pop
217
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 482.000000 moveto
(much more complex changes than our example)
dup
stringwidth
pop
210
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 494.000000 moveto
(demonstrated.  Although only relatively simple)
dup
stringwidth
pop
211
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 506.000000 moveto
(watchpoints will be handled by hardware)
dup
stringwidth
pop
186
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 518.000000 moveto
(watchpoints, the others will be handled by)
dup
stringwidth
pop
189
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 530.000000 moveto
(software watchpoints which are much slower.)
dup
stringwidth
pop
204
exch
sub
5
div
exch
0
exch
32
exch
widthshow
-4096.000000 -4096.000000 moveto
gsave
newpath
-4096.000000 -4096.000000 moveto
-4095.000000 -4096.000000 lineto
-4094.000000 -4095.000000 lineto
-4094.000000 -4094.000000 lineto
-4095.000000 -4094.000000 lineto
-4096.000000 -4095.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
351.000000 666.000000 moveto
gsave
newpath
351.000000 666.000000 moveto
494.000000 666.000000 lineto
495.000000 666.000000 lineto
495.000000 667.000000 lineto
352.000000 667.000000 lineto
351.000000 667.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
351.000000 678.000000 moveto
(Palatino-Roman)
[
9.000000
0.000000
0.000000
-9.000000
0.000000
0.000000
]
selectfont
(2)
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
355.000000 681.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(I actually set this watchpoint in the session of)
dup
stringwidth
pop
201
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 693.000000 moveto
(Executor that I am using to run Word 5.1 for the)
dup
stringwidth
pop
213
exch
sub
10
div
exch
0
exch
32
exch
widthshow
351.000000 705.000000 moveto
(Macintosh to compose this document)
dup
stringwidth
pop
166
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 717.000000 moveto
(\(Executor/Linux on a 90 MHz Pentium\).)
dup
stringwidth
pop
180
exch
sub
5
div
exch
0
exch
32
exch
widthshow
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 14 14
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
252.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
458.000000 753.000000 moveto
(14)
dup
stringwidth
pop
10
exch
sub
2
div
exch
0
exch
ashow
54.000000 88.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Hacked GDB)
dup
stringwidth
pop
73
exch
sub
1
div
exch
0
exch
32
exch
widthshow
36.000000 101.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Unlike GCC, where we made local modifications)
dup
stringwidth
pop
216
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 113.000000 moveto
(and then, upon reflection, threw them out, we)
dup
stringwidth
pop
204
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 125.000000 moveto
(have made a slight change to GDB that is a big win)
dup
stringwidth
pop
226
exch
sub
11
div
exch
0
exch
32
exch
widthshow
36.000000 137.000000 moveto
(for debugging Executor \(and Mac programs)
dup
stringwidth
pop
195
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 149.000000 moveto
(running under Executor\) on PCs.  GDB always)
dup
stringwidth
pop
207
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 161.000000 moveto
(knows how to disassemble the object code that it's)
dup
stringwidth
pop
222
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 173.000000 moveto
(running, and GDB is available for many)
dup
stringwidth
pop
177
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 185.000000 moveto
(architectures, so we modified GDB so that on the)
dup
stringwidth
pop
217
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 197.000000 moveto
(80x86 we can do both 80x86 disassembly and)
dup
stringwidth
pop
200
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 209.000000 moveto
(680x0 disassembly.  That allows us to look at)
dup
stringwidth
pop
198
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 221.000000 moveto
(sections of memory within our emulator and see)
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 233.000000 moveto
(what 680x0 code is there.)
dup
stringwidth
pop
111
exch
sub
4
div
exch
0
exch
32
exch
widthshow
36.000000 257.000000 moveto
(In the example below, Executor is running the)
dup
stringwidth
pop
204
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 269.000000 moveto
(game Risk, when we interrupt Executor and then)
dup
stringwidth
pop
218
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 281.000000 moveto
(tell GDB to break in the routine alinehandler.  We)
dup
stringwidth
pop
220
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 293.000000 moveto
(then continue until alinehandler is hit.  We then)
dup
stringwidth
pop
212
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 305.000000 moveto
(disassemble, in 680x0 format, the first nine)
dup
stringwidth
pop
189
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 317.000000 moveto
(instructions at the location from which)
dup
stringwidth
pop
172
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 329.000000 moveto
(alinehandler was dispatched.  After doing that we)
dup
stringwidth
pop
222
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 341.000000 moveto
(disassemble in 80x86 format the first nine)
dup
stringwidth
pop
184
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 353.000000 moveto
(instructions of alinehandler itself.)
dup
stringwidth
pop
149
exch
sub
3
div
exch
0
exch
32
exch
widthshow
36.000000 377.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(\(gdb\) b alinehandler)
dup
stringwidth
pop
120
exch
sub
2
div
exch
0
exch
32
exch
widthshow
36.000000 388.000000 moveto
(Breakpoint 6 at 0x17ce2d: file)
dup
stringwidth
pop
180
exch
sub
4
div
exch
0
exch
32
exch
widthshow
36.000000 399.000000 moveto
(executor.c, line 369.)
dup
stringwidth
pop
126
exch
sub
2
div
exch
0
exch
32
exch
widthshow
36.000000 410.000000 moveto
(\(gdb\) c)
dup
stringwidth
pop
42
exch
sub
1
div
exch
0
exch
32
exch
widthshow
36.000000 421.000000 moveto
(Continuing.)
dup
stringwidth
pop
66
exch
sub
11
div
exch
0
exch
ashow
36.000000 443.000000 moveto
(Breakpoint 6, alinehandler)
dup
stringwidth
pop
156
exch
sub
2
div
exch
0
exch
32
exch
widthshow
36.000000 454.000000 moveto
(\(pc=3652006, ignored=0x0\) at)
dup
stringwidth
pop
168
exch
sub
2
div
exch
0
exch
32
exch
widthshow
36.000000 465.000000 moveto
(executor.c:369)
dup
stringwidth
pop
84
exch
sub
14
div
exch
0
exch
ashow
36.000000 476.000000 moveto
(\(gdb\) set m68k)
dup
stringwidth
pop
84
exch
sub
2
div
exch
0
exch
32
exch
widthshow
36.000000 487.000000 moveto
(\(gdb\) x/9i pc)
dup
stringwidth
pop
78
exch
sub
2
div
exch
0
exch
32
exch
widthshow
36.000000 498.000000 moveto
(0x37b9a6 :)
dup
stringwidth
pop
60
exch
sub
1
div
exch
0
exch
32
exch
widthshow
108.000000 498.000000 moveto
(_SystemTask)
dup
stringwidth
pop
66
exch
sub
11
div
exch
0
exch
ashow
36.000000 509.000000 moveto
(0x37b9a8 :)
dup
stringwidth
pop
60
exch
sub
1
div
exch
0
exch
32
exch
widthshow
108.000000 509.000000 moveto
(clrw sp@-)
dup
stringwidth
pop
54
exch
sub
1
div
exch
0
exch
32
exch
widthshow
297.000000 81.000000 moveto
(0x37b9aa :)
dup
stringwidth
pop
60
exch
sub
1
div
exch
0
exch
32
exch
widthshow
369.000000 81.000000 moveto
(movew #-1,sp@-)
dup
stringwidth
pop
84
exch
sub
1
div
exch
0
exch
32
exch
widthshow
297.000000 92.000000 moveto
(0x37b9ae :)
dup
stringwidth
pop
60
exch
sub
1
div
exch
0
exch
32
exch
widthshow
369.000000 92.000000 moveto
(pea a5@\(-27598\))
dup
stringwidth
pop
90
exch
sub
1
div
exch
0
exch
32
exch
widthshow
297.000000 103.000000 moveto
(0x37b9b2 :)
dup
stringwidth
pop
60
exch
sub
1
div
exch
0
exch
32
exch
widthshow
369.000000 103.000000 moveto
(_GetNextEvent)
dup
stringwidth
pop
78
exch
sub
13
div
exch
0
exch
ashow
297.000000 114.000000 moveto
(0x37b9b4 :)
dup
stringwidth
pop
60
exch
sub
1
div
exch
0
exch
32
exch
widthshow
369.000000 114.000000 moveto
(moveb sp@+,d0)
dup
stringwidth
pop
78
exch
sub
1
div
exch
0
exch
32
exch
widthshow
297.000000 125.000000 moveto
(0x37b9b6 :)
dup
stringwidth
pop
60
exch
sub
1
div
exch
0
exch
32
exch
widthshow
369.000000 125.000000 moveto
(tstb d0)
dup
stringwidth
pop
42
exch
sub
1
div
exch
0
exch
32
exch
widthshow
297.000000 136.000000 moveto
(0x37b9b8 :)
dup
stringwidth
pop
60
exch
sub
1
div
exch
0
exch
32
exch
widthshow
369.000000 136.000000 moveto
(beqw 0x37ba0e)
dup
stringwidth
pop
78
exch
sub
1
div
exch
0
exch
32
exch
widthshow
297.000000 147.000000 moveto
(<end+667542>)
dup
stringwidth
pop
72
exch
sub
12
div
exch
0
exch
ashow
297.000000 158.000000 moveto
(0x37b9bc :)
dup
stringwidth
pop
60
exch
sub
1
div
exch
0
exch
32
exch
widthshow
369.000000 158.000000 moveto
(movew a5@\(-27598\),d0)
dup
stringwidth
pop
120
exch
sub
1
div
exch
0
exch
32
exch
widthshow
297.000000 169.000000 moveto
(\(gdb\) set m68k off)
dup
stringwidth
pop
108
exch
sub
3
div
exch
0
exch
32
exch
widthshow
297.000000 180.000000 moveto
(\(gdb\) x/9i alinehandler)
dup
stringwidth
pop
138
exch
sub
2
div
exch
0
exch
32
exch
widthshow
297.000000 191.000000 moveto
(<alinehandler>:         pushl  %ebp)
dup
stringwidth
pop
210
exch
sub
11
div
exch
0
exch
32
exch
widthshow
297.000000 202.000000 moveto
(<alinehandler+1>:)
dup
stringwidth
pop
102
exch
sub
17
div
exch
0
exch
ashow
405.000000 202.000000 moveto
(movl   %esp,%ebp)
dup
stringwidth
pop
96
exch
sub
3
div
exch
0
exch
32
exch
widthshow
297.000000 213.000000 moveto
(<alinehandler+3>:)
dup
stringwidth
pop
102
exch
sub
17
div
exch
0
exch
ashow
405.000000 213.000000 moveto
(subl   $0x28,%esp)
dup
stringwidth
pop
102
exch
sub
3
div
exch
0
exch
32
exch
widthshow
297.000000 224.000000 moveto
(<alinehandler+6>:)
dup
stringwidth
pop
102
exch
sub
17
div
exch
0
exch
ashow
405.000000 224.000000 moveto
(pushl  %esi)
dup
stringwidth
pop
66
exch
sub
2
div
exch
0
exch
32
exch
widthshow
297.000000 235.000000 moveto
(<alinehandler+7>:)
dup
stringwidth
pop
102
exch
sub
17
div
exch
0
exch
ashow
405.000000 235.000000 moveto
(pushl  %ebx)
dup
stringwidth
pop
66
exch
sub
2
div
exch
0
exch
32
exch
widthshow
297.000000 246.000000 moveto
(<alinehandler+8>:)
dup
stringwidth
pop
102
exch
sub
17
div
exch
0
exch
ashow
405.000000 246.000000 moveto
(jmp    0x17ce10)
dup
stringwidth
pop
90
exch
sub
4
div
exch
0
exch
32
exch
widthshow
297.000000 257.000000 moveto
(<alinehandler+48>)
dup
stringwidth
pop
102
exch
sub
17
div
exch
0
exch
ashow
297.000000 268.000000 moveto
(<alinehandler+10>:)
dup
stringwidth
pop
108
exch
sub
18
div
exch
0
exch
ashow
441.000000 268.000000 moveto
(nop)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
297.000000 279.000000 moveto
(<alinehandler+11>:)
dup
stringwidth
pop
108
exch
sub
18
div
exch
0
exch
ashow
441.000000 279.000000 moveto
(nop)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
297.000000 290.000000 moveto
(<alinehandler+12>:)
dup
stringwidth
pop
108
exch
sub
18
div
exch
0
exch
ashow
441.000000 290.000000 moveto
(nop)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
297.000000 313.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Being able to disassemble 680x0 code on the 80x86)
dup
stringwidth
pop
222
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 325.000000 moveto
(required us to change approximately 50 source)
dup
stringwidth
pop
208
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 337.000000 moveto
(lines of GDB \(remember, the 680x0 disassembly)
dup
stringwidth
pop
211
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 349.000000 moveto
(code was already present for use in GDB on 680x0)
dup
stringwidth
pop
222
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 361.000000 moveto
(machines\).  We also added a set of tables so that a)
dup
stringwidth
pop
220
exch
sub
11
div
exch
0
exch
32
exch
widthshow
(-)
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
297.000000 373.000000 moveto
(line traps and low-memory globals are displayed)
dup
stringwidth
pop
218
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 385.000000 moveto
(by name, rather than by number.)
dup
stringwidth
pop
146
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 409.000000 moveto
(Although our special circumstances led us to)
dup
stringwidth
pop
199
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 421.000000 moveto
(modify the GDB source code, GDB is customizable)
dup
stringwidth
pop
225
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 433.000000 moveto
(out of the box.  We've defined a handful of macros)
dup
stringwidth
pop
223
exch
sub
10
div
exch
0
exch
32
exch
widthshow
297.000000 445.000000 moveto
(that automate debugging tasks.  Figure 6 is a)
dup
stringwidth
pop
198
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 457.000000 moveto
(macro that crawls through the stack in mac space.)
dup
stringwidth
pop
221
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 481.000000 moveto
(For comparison, Figure 7 is what GDB produces)
dup
stringwidth
pop
213
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 493.000000 moveto
(when backtracking code that is compiled with)
dup
stringwidth
pop
204
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 505.000000 moveto
(GDB debugging symbols.)
dup
stringwidth
pop
114
exch
sub
2
div
exch
0
exch
32
exch
widthshow
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 15 15
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
306.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
512.000000 753.000000 moveto
(15)
dup
stringwidth
pop
10
exch
sub
2
div
exch
0
exch
ashow
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 73 def/wp$left 88 def/wp$right 578 def/wp$bottom 84 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 82.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(define macktrace)
dup
stringwidth
pop
96
exch
sub
1
div
exch
0
exch
32
exch
widthshow
87.000000 72.000000 moveto
gsave
newpath
87.000000 72.000000 moveto
87.000000 72.000000 lineto
88.000000 72.000000 lineto
88.000000 73.000000 lineto
88.000000 73.000000 lineto
87.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
87.000000 72.000000 moveto
87.000000 72.000000 lineto
88.000000 72.000000 lineto
88.000000 73.000000 lineto
88.000000 73.000000 lineto
87.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
88.000000 72.000000 moveto
gsave
newpath
88.000000 72.000000 moveto
577.000000 72.000000 lineto
578.000000 72.000000 lineto
578.000000 73.000000 lineto
89.000000 73.000000 lineto
88.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 72.000000 moveto
gsave
newpath
578.000000 72.000000 moveto
578.000000 72.000000 lineto
579.000000 72.000000 lineto
579.000000 73.000000 lineto
579.000000 73.000000 lineto
578.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
578.000000 72.000000 moveto
578.000000 72.000000 lineto
579.000000 72.000000 lineto
579.000000 73.000000 lineto
579.000000 73.000000 lineto
578.000000 73.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
87.000000 73.000000 moveto
gsave
newpath
87.000000 73.000000 moveto
88.000000 73.000000 lineto
88.000000 83.000000 lineto
88.000000 84.000000 lineto
87.000000 84.000000 lineto
87.000000 74.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 73.000000 moveto
gsave
newpath
578.000000 73.000000 moveto
579.000000 73.000000 lineto
579.000000 83.000000 lineto
579.000000 84.000000 lineto
578.000000 84.000000 lineto
578.000000 74.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 83.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 84 def/wp$left 88 def/wp$right 578 def/wp$bottom 95 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 93.000000 moveto
(  set $_fp = cpu_state.regs[14].ul.n + 0)
dup
stringwidth
pop
240
exch
sub
7
div
exch
0
exch
32
exch
widthshow
87.000000 84.000000 moveto
gsave
newpath
87.000000 84.000000 moveto
88.000000 84.000000 lineto
88.000000 94.000000 lineto
88.000000 95.000000 lineto
87.000000 95.000000 lineto
87.000000 85.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 84.000000 moveto
gsave
newpath
578.000000 84.000000 moveto
579.000000 84.000000 lineto
579.000000 94.000000 lineto
579.000000 95.000000 lineto
578.000000 95.000000 lineto
578.000000 85.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 94.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 95 def/wp$left 88 def/wp$right 578 def/wp$bottom 106 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 104.000000 moveto
(  silentswap32 \(\(\(uint32*\)$_fp\)[1]+0\))
dup
stringwidth
pop
222
exch
sub
3
div
exch
0
exch
32
exch
widthshow
87.000000 95.000000 moveto
gsave
newpath
87.000000 95.000000 moveto
88.000000 95.000000 lineto
88.000000 105.000000 lineto
88.000000 106.000000 lineto
87.000000 106.000000 lineto
87.000000 96.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 95.000000 moveto
gsave
newpath
578.000000 95.000000 moveto
579.000000 95.000000 lineto
579.000000 105.000000 lineto
579.000000 106.000000 lineto
578.000000 106.000000 lineto
578.000000 96.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 105.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 106 def/wp$left 88 def/wp$right 578 def/wp$bottom 117 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 115.000000 moveto
(  set $_pc = $_val + 0)
dup
stringwidth
pop
132
exch
sub
7
div
exch
0
exch
32
exch
widthshow
87.000000 106.000000 moveto
gsave
newpath
87.000000 106.000000 moveto
88.000000 106.000000 lineto
88.000000 116.000000 lineto
88.000000 117.000000 lineto
87.000000 117.000000 lineto
87.000000 107.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 106.000000 moveto
gsave
newpath
578.000000 106.000000 moveto
579.000000 106.000000 lineto
579.000000 116.000000 lineto
579.000000 117.000000 lineto
578.000000 117.000000 lineto
578.000000 107.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 116.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 117 def/wp$left 88 def/wp$right 578 def/wp$bottom 128 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 126.000000 moveto
(  silentswap32 \(\(\(uint32*\)$_fp\)[0]+0\))
dup
stringwidth
pop
222
exch
sub
3
div
exch
0
exch
32
exch
widthshow
87.000000 117.000000 moveto
gsave
newpath
87.000000 117.000000 moveto
88.000000 117.000000 lineto
88.000000 127.000000 lineto
88.000000 128.000000 lineto
87.000000 128.000000 lineto
87.000000 118.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 117.000000 moveto
gsave
newpath
578.000000 117.000000 moveto
579.000000 117.000000 lineto
579.000000 127.000000 lineto
579.000000 128.000000 lineto
578.000000 128.000000 lineto
578.000000 118.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 127.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 128 def/wp$left 88 def/wp$right 578 def/wp$bottom 139 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 137.000000 moveto
(  set $_fp = $_val + 0)
dup
stringwidth
pop
132
exch
sub
7
div
exch
0
exch
32
exch
widthshow
87.000000 128.000000 moveto
gsave
newpath
87.000000 128.000000 moveto
88.000000 128.000000 lineto
88.000000 138.000000 lineto
88.000000 139.000000 lineto
87.000000 139.000000 lineto
87.000000 129.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 128.000000 moveto
gsave
newpath
578.000000 128.000000 moveto
579.000000 128.000000 lineto
579.000000 138.000000 lineto
579.000000 139.000000 lineto
578.000000 139.000000 lineto
578.000000 129.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 138.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 139 def/wp$left 88 def/wp$right 578 def/wp$bottom 150 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 148.000000 moveto
(  while $_fp > 100 && $_fp < 30000000)
dup
stringwidth
pop
222
exch
sub
9
div
exch
0
exch
32
exch
widthshow
87.000000 139.000000 moveto
gsave
newpath
87.000000 139.000000 moveto
88.000000 139.000000 lineto
88.000000 149.000000 lineto
88.000000 150.000000 lineto
87.000000 150.000000 lineto
87.000000 140.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 139.000000 moveto
gsave
newpath
578.000000 139.000000 moveto
579.000000 139.000000 lineto
579.000000 149.000000 lineto
579.000000 150.000000 lineto
578.000000 150.000000 lineto
578.000000 140.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 149.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 150 def/wp$left 88 def/wp$right 578 def/wp$bottom 161 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 159.000000 moveto
(    set $_start = \(long\) $_pc + 0)
dup
stringwidth
pop
198
exch
sub
10
div
exch
0
exch
32
exch
widthshow
87.000000 150.000000 moveto
gsave
newpath
87.000000 150.000000 moveto
88.000000 150.000000 lineto
88.000000 160.000000 lineto
88.000000 161.000000 lineto
87.000000 161.000000 lineto
87.000000 151.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 150.000000 moveto
gsave
newpath
578.000000 150.000000 moveto
579.000000 150.000000 lineto
579.000000 160.000000 lineto
579.000000 161.000000 lineto
578.000000 161.000000 lineto
578.000000 151.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 160.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 161 def/wp$left 88 def/wp$right 578 def/wp$bottom 172 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 170.000000 moveto
(    while $_start > \(long\)&end && *\(uint16 *\)$_start != 0x564E)
dup
stringwidth
pop
372
exch
sub
12
div
exch
0
exch
32
exch
widthshow
87.000000 161.000000 moveto
gsave
newpath
87.000000 161.000000 moveto
88.000000 161.000000 lineto
88.000000 171.000000 lineto
88.000000 172.000000 lineto
87.000000 172.000000 lineto
87.000000 162.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 161.000000 moveto
gsave
newpath
578.000000 161.000000 moveto
579.000000 161.000000 lineto
579.000000 171.000000 lineto
579.000000 172.000000 lineto
578.000000 172.000000 lineto
578.000000 162.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 171.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 172 def/wp$left 88 def/wp$right 578 def/wp$bottom 183 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 181.000000 moveto
(set $_start = $_start - 2)
dup
stringwidth
pop
150
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 172.000000 moveto
gsave
newpath
87.000000 172.000000 moveto
88.000000 172.000000 lineto
88.000000 182.000000 lineto
88.000000 183.000000 lineto
87.000000 183.000000 lineto
87.000000 173.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 172.000000 moveto
gsave
newpath
578.000000 172.000000 moveto
579.000000 172.000000 lineto
579.000000 182.000000 lineto
579.000000 183.000000 lineto
578.000000 183.000000 lineto
578.000000 173.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 182.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 183 def/wp$left 88 def/wp$right 578 def/wp$bottom 194 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 192.000000 moveto
(    end)
dup
stringwidth
pop
42
exch
sub
4
div
exch
0
exch
32
exch
widthshow
87.000000 183.000000 moveto
gsave
newpath
87.000000 183.000000 moveto
88.000000 183.000000 lineto
88.000000 193.000000 lineto
88.000000 194.000000 lineto
87.000000 194.000000 lineto
87.000000 184.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 183.000000 moveto
gsave
newpath
578.000000 183.000000 moveto
579.000000 183.000000 lineto
579.000000 193.000000 lineto
579.000000 194.000000 lineto
578.000000 194.000000 lineto
578.000000 184.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 193.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 194 def/wp$left 88 def/wp$right 578 def/wp$bottom 205 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 203.000000 moveto
(    printf "func=0x%lX, ret=0x%lX, fp=0x%lX, args=0x%02X%02X%02X%02X)
dup
stringwidth
pop
408
exch
sub
8
div
exch
0
exch
32
exch
widthshow
87.000000 194.000000 moveto
gsave
newpath
87.000000 194.000000 moveto
88.000000 194.000000 lineto
88.000000 204.000000 lineto
88.000000 205.000000 lineto
87.000000 205.000000 lineto
87.000000 195.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 194.000000 moveto
gsave
newpath
578.000000 194.000000 moveto
579.000000 194.000000 lineto
579.000000 204.000000 lineto
579.000000 205.000000 lineto
578.000000 205.000000 lineto
578.000000 195.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 204.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 205 def/wp$left 88 def/wp$right 578 def/wp$bottom 216 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 214.000000 moveto
(0x%02X%02X%02X%02X 0x%02X%02X%02X%02X\\n",\\)
dup
stringwidth
pop
252
exch
sub
1
div
exch
0
exch
32
exch
widthshow
87.000000 205.000000 moveto
gsave
newpath
87.000000 205.000000 moveto
88.000000 205.000000 lineto
88.000000 215.000000 lineto
88.000000 216.000000 lineto
87.000000 216.000000 lineto
87.000000 206.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 205.000000 moveto
gsave
newpath
578.000000 205.000000 moveto
579.000000 205.000000 lineto
579.000000 215.000000 lineto
579.000000 216.000000 lineto
578.000000 216.000000 lineto
578.000000 206.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 215.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 216 def/wp$left 88 def/wp$right 578 def/wp$bottom 227 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 225.000000 moveto
($_start, $_pc, $_fp,\\)
dup
stringwidth
pop
126
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 216.000000 moveto
gsave
newpath
87.000000 216.000000 moveto
88.000000 216.000000 lineto
88.000000 226.000000 lineto
88.000000 227.000000 lineto
87.000000 227.000000 lineto
87.000000 217.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 216.000000 moveto
gsave
newpath
578.000000 216.000000 moveto
579.000000 216.000000 lineto
579.000000 226.000000 lineto
579.000000 227.000000 lineto
578.000000 227.000000 lineto
578.000000 217.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 226.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 227 def/wp$left 88 def/wp$right 578 def/wp$bottom 238 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 236.000000 moveto
(\(\(uint8 *\)$_fp\)[8], \(\(uint8 *\)$_fp\)[9], \(\(uint8 *\)$_fp\)[10],\\)
dup
stringwidth
pop
366
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 227.000000 moveto
gsave
newpath
87.000000 227.000000 moveto
88.000000 227.000000 lineto
88.000000 237.000000 lineto
88.000000 238.000000 lineto
87.000000 238.000000 lineto
87.000000 228.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 227.000000 moveto
gsave
newpath
578.000000 227.000000 moveto
579.000000 227.000000 lineto
579.000000 237.000000 lineto
579.000000 238.000000 lineto
578.000000 238.000000 lineto
578.000000 228.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 237.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 238 def/wp$left 88 def/wp$right 578 def/wp$bottom 249 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 247.000000 moveto
(\(\(uint8 *\)$_fp\)[11], \(\(uint8 *\)$_fp\)[12], \(\(uint8 *\)$_fp\)[13],\\)
dup
stringwidth
pop
378
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 238.000000 moveto
gsave
newpath
87.000000 238.000000 moveto
88.000000 238.000000 lineto
88.000000 248.000000 lineto
88.000000 249.000000 lineto
87.000000 249.000000 lineto
87.000000 239.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 238.000000 moveto
gsave
newpath
578.000000 238.000000 moveto
579.000000 238.000000 lineto
579.000000 248.000000 lineto
579.000000 249.000000 lineto
578.000000 249.000000 lineto
578.000000 239.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 248.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 249 def/wp$left 88 def/wp$right 578 def/wp$bottom 260 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 258.000000 moveto
(\(\(uint8 *\)$_fp\)[14], \(\(uint8 *\)$_fp\)[15], \(\(uint8 *\)$_fp\)[16],\\)
dup
stringwidth
pop
378
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 249.000000 moveto
gsave
newpath
87.000000 249.000000 moveto
88.000000 249.000000 lineto
88.000000 259.000000 lineto
88.000000 260.000000 lineto
87.000000 260.000000 lineto
87.000000 250.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 249.000000 moveto
gsave
newpath
578.000000 249.000000 moveto
579.000000 249.000000 lineto
579.000000 259.000000 lineto
579.000000 260.000000 lineto
578.000000 260.000000 lineto
578.000000 250.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 259.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 260 def/wp$left 88 def/wp$right 578 def/wp$bottom 271 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
126.000000 269.000000 moveto
(\(\(uint8 *\)$_fp\)[17], \(\(uint8 *\)$_fp\)[18], \(\(uint8 *\)$_fp\)[19])
dup
stringwidth
pop
366
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 260.000000 moveto
gsave
newpath
87.000000 260.000000 moveto
88.000000 260.000000 lineto
88.000000 270.000000 lineto
88.000000 271.000000 lineto
87.000000 271.000000 lineto
87.000000 261.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 260.000000 moveto
gsave
newpath
578.000000 260.000000 moveto
579.000000 260.000000 lineto
579.000000 270.000000 lineto
579.000000 271.000000 lineto
578.000000 271.000000 lineto
578.000000 261.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 270.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 271 def/wp$left 88 def/wp$right 578 def/wp$bottom 282 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 280.000000 moveto
(    silentswap32 \(\(uint32*\)$_fp\)[1]+0)
dup
stringwidth
pop
222
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 271.000000 moveto
gsave
newpath
87.000000 271.000000 moveto
88.000000 271.000000 lineto
88.000000 281.000000 lineto
88.000000 282.000000 lineto
87.000000 282.000000 lineto
87.000000 272.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 271.000000 moveto
gsave
newpath
578.000000 271.000000 moveto
579.000000 271.000000 lineto
579.000000 281.000000 lineto
579.000000 282.000000 lineto
578.000000 282.000000 lineto
578.000000 272.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 281.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 282 def/wp$left 88 def/wp$right 578 def/wp$bottom 293 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 291.000000 moveto
(    set $_pc = $_val + 0)
dup
stringwidth
pop
144
exch
sub
9
div
exch
0
exch
32
exch
widthshow
87.000000 282.000000 moveto
gsave
newpath
87.000000 282.000000 moveto
88.000000 282.000000 lineto
88.000000 292.000000 lineto
88.000000 293.000000 lineto
87.000000 293.000000 lineto
87.000000 283.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 282.000000 moveto
gsave
newpath
578.000000 282.000000 moveto
579.000000 282.000000 lineto
579.000000 292.000000 lineto
579.000000 293.000000 lineto
578.000000 293.000000 lineto
578.000000 283.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 292.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 293 def/wp$left 88 def/wp$right 578 def/wp$bottom 304 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 302.000000 moveto
(    silentswap32 \(\(uint32*\)$_fp\)[0]+0)
dup
stringwidth
pop
222
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 293.000000 moveto
gsave
newpath
87.000000 293.000000 moveto
88.000000 293.000000 lineto
88.000000 303.000000 lineto
88.000000 304.000000 lineto
87.000000 304.000000 lineto
87.000000 294.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 293.000000 moveto
gsave
newpath
578.000000 293.000000 moveto
579.000000 293.000000 lineto
579.000000 303.000000 lineto
579.000000 304.000000 lineto
578.000000 304.000000 lineto
578.000000 294.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 303.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 304 def/wp$left 88 def/wp$right 578 def/wp$bottom 315 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 313.000000 moveto
(    set $_fp = $_val + 0)
dup
stringwidth
pop
144
exch
sub
9
div
exch
0
exch
32
exch
widthshow
87.000000 304.000000 moveto
gsave
newpath
87.000000 304.000000 moveto
88.000000 304.000000 lineto
88.000000 314.000000 lineto
88.000000 315.000000 lineto
87.000000 315.000000 lineto
87.000000 305.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 304.000000 moveto
gsave
newpath
578.000000 304.000000 moveto
579.000000 304.000000 lineto
579.000000 314.000000 lineto
579.000000 315.000000 lineto
578.000000 315.000000 lineto
578.000000 305.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 314.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 315 def/wp$left 88 def/wp$right 578 def/wp$bottom 326 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 324.000000 moveto
(  end)
dup
stringwidth
pop
30
exch
sub
2
div
exch
0
exch
32
exch
widthshow
87.000000 315.000000 moveto
gsave
newpath
87.000000 315.000000 moveto
88.000000 315.000000 lineto
88.000000 325.000000 lineto
88.000000 326.000000 lineto
87.000000 326.000000 lineto
87.000000 316.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 315.000000 moveto
gsave
newpath
578.000000 315.000000 moveto
579.000000 315.000000 lineto
579.000000 325.000000 lineto
579.000000 326.000000 lineto
578.000000 326.000000 lineto
578.000000 316.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 325.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 326 def/wp$left 88 def/wp$right 578 def/wp$bottom 337 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 335.000000 moveto
(end)
dup
stringwidth
pop
18
exch
sub
3
div
exch
0
exch
ashow
87.000000 326.000000 moveto
gsave
newpath
87.000000 326.000000 moveto
88.000000 326.000000 lineto
88.000000 336.000000 lineto
88.000000 337.000000 lineto
87.000000 337.000000 lineto
87.000000 327.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 326.000000 moveto
gsave
newpath
578.000000 326.000000 moveto
579.000000 326.000000 lineto
579.000000 336.000000 lineto
579.000000 337.000000 lineto
578.000000 337.000000 lineto
578.000000 327.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 336.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 337 def/wp$left 88 def/wp$right 578 def/wp$bottom 348 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 346.000000 moveto
(\(gdb\) macktrace)
dup
stringwidth
pop
90
exch
sub
1
div
exch
0
exch
32
exch
widthshow
87.000000 337.000000 moveto
gsave
newpath
87.000000 337.000000 moveto
88.000000 337.000000 lineto
88.000000 347.000000 lineto
88.000000 348.000000 lineto
87.000000 348.000000 lineto
87.000000 338.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 337.000000 moveto
gsave
newpath
578.000000 337.000000 moveto
579.000000 337.000000 lineto
579.000000 347.000000 lineto
579.000000 348.000000 lineto
578.000000 348.000000 lineto
578.000000 338.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 347.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 348 def/wp$left 88 def/wp$right 578 def/wp$bottom 359 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 357.000000 moveto
(func=0x3824F8, ret=0x38250E, fp=0xB28E3C, args=0x00B2E852 0x000300B2 0x8E580037)
dup
stringwidth
pop
474
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 348.000000 moveto
gsave
newpath
87.000000 348.000000 moveto
88.000000 348.000000 lineto
88.000000 358.000000 lineto
88.000000 359.000000 lineto
87.000000 359.000000 lineto
87.000000 349.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 348.000000 moveto
gsave
newpath
578.000000 348.000000 moveto
579.000000 348.000000 lineto
579.000000 358.000000 lineto
579.000000 359.000000 lineto
578.000000 359.000000 lineto
578.000000 349.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 358.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 359 def/wp$left 88 def/wp$right 578 def/wp$bottom 370 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 368.000000 moveto
(func=0x37A2BE, ret=0x37A3A6, fp=0xB28E4A, args=0x0037BA12 0x000000B2 0x8F840037)
dup
stringwidth
pop
474
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 359.000000 moveto
gsave
newpath
87.000000 359.000000 moveto
88.000000 359.000000 lineto
88.000000 369.000000 lineto
88.000000 370.000000 lineto
87.000000 370.000000 lineto
87.000000 360.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 359.000000 moveto
gsave
newpath
578.000000 359.000000 moveto
579.000000 359.000000 lineto
579.000000 369.000000 lineto
579.000000 370.000000 lineto
578.000000 370.000000 lineto
578.000000 360.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 369.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 370 def/wp$left 88 def/wp$right 578 def/wp$bottom 381 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 379.000000 moveto
(func=0x37AECE, ret=0x37AFF0, fp=0xB28E58, args=0x0001002E 0xE0BC0000 0x00010035)
dup
stringwidth
pop
474
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 370.000000 moveto
gsave
newpath
87.000000 370.000000 moveto
88.000000 370.000000 lineto
88.000000 380.000000 lineto
88.000000 381.000000 lineto
87.000000 381.000000 lineto
87.000000 371.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 370.000000 moveto
gsave
newpath
578.000000 370.000000 moveto
579.000000 370.000000 lineto
579.000000 380.000000 lineto
579.000000 381.000000 lineto
578.000000 381.000000 lineto
578.000000 371.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 380.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 381 def/wp$left 88 def/wp$right 578 def/wp$bottom 392 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 390.000000 moveto
(func=0x379D58, ret=0x379E0C, fp=0xB28F84, args=0x000100B2 0x8F9200B2 0x8F9A0000)
dup
stringwidth
pop
474
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 381.000000 moveto
gsave
newpath
87.000000 381.000000 moveto
88.000000 381.000000 lineto
88.000000 391.000000 lineto
88.000000 392.000000 lineto
87.000000 392.000000 lineto
87.000000 382.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 381.000000 moveto
gsave
newpath
578.000000 381.000000 moveto
579.000000 381.000000 lineto
579.000000 391.000000 lineto
579.000000 392.000000 lineto
578.000000 392.000000 lineto
578.000000 382.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 391.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 392 def/wp$left 88 def/wp$right 578 def/wp$bottom 406 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
87.000000 392.000000 moveto
gsave
newpath
87.000000 392.000000 moveto
88.000000 392.000000 lineto
88.000000 405.000000 lineto
88.000000 406.000000 lineto
87.000000 406.000000 lineto
87.000000 393.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 392.000000 moveto
gsave
newpath
578.000000 392.000000 moveto
579.000000 392.000000 lineto
579.000000 405.000000 lineto
579.000000 406.000000 lineto
578.000000 406.000000 lineto
578.000000 393.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 405.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 406 def/wp$left 88 def/wp$right 578 def/wp$bottom 420 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
214.000000 416.000000 moveto
(Palatino-Roman)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Figure 6.  Macktrace Definition and Example)
dup
stringwidth
pop
238
exch
sub
6
div
exch
0
exch
32
exch
widthshow
87.000000 406.000000 moveto
gsave
newpath
87.000000 406.000000 moveto
88.000000 406.000000 lineto
88.000000 419.000000 lineto
88.000000 420.000000 lineto
87.000000 420.000000 lineto
87.000000 407.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 406.000000 moveto
gsave
newpath
578.000000 406.000000 moveto
579.000000 406.000000 lineto
579.000000 419.000000 lineto
579.000000 420.000000 lineto
578.000000 420.000000 lineto
578.000000 407.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 419.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 420 def/wp$left 88 def/wp$right 578 def/wp$bottom 431 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
87.000000 420.000000 moveto
gsave
newpath
87.000000 420.000000 moveto
88.000000 420.000000 lineto
88.000000 430.000000 lineto
88.000000 431.000000 lineto
87.000000 431.000000 lineto
87.000000 421.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 420.000000 moveto
gsave
newpath
578.000000 420.000000 moveto
579.000000 420.000000 lineto
579.000000 430.000000 lineto
579.000000 431.000000 lineto
578.000000 431.000000 lineto
578.000000 421.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 430.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 431 def/wp$left 88 def/wp$right 578 def/wp$bottom 442 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 440.000000 moveto
(Courier)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(\(gdb\) backtrace)
dup
stringwidth
pop
90
exch
sub
1
div
exch
0
exch
32
exch
widthshow
87.000000 431.000000 moveto
gsave
newpath
87.000000 431.000000 moveto
88.000000 431.000000 lineto
88.000000 441.000000 lineto
88.000000 442.000000 lineto
87.000000 442.000000 lineto
87.000000 432.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 431.000000 moveto
gsave
newpath
578.000000 431.000000 moveto
579.000000 431.000000 lineto
579.000000 441.000000 lineto
579.000000 442.000000 lineto
578.000000 442.000000 lineto
578.000000 432.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 441.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 442 def/wp$left 88 def/wp$right 578 def/wp$bottom 453 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 451.000000 moveto
(#0  C_SysBeep \(i=10\) at osutil.c:837)
dup
stringwidth
pop
216
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 442.000000 moveto
gsave
newpath
87.000000 442.000000 moveto
88.000000 442.000000 lineto
88.000000 452.000000 lineto
88.000000 453.000000 lineto
87.000000 453.000000 lineto
87.000000 443.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 442.000000 moveto
gsave
newpath
578.000000 442.000000 moveto
579.000000 442.000000 lineto
579.000000 452.000000 lineto
579.000000 453.000000 lineto
578.000000 453.000000 lineto
578.000000 443.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 452.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 453 def/wp$left 88 def/wp$right 578 def/wp$bottom 464 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 462.000000 moveto
(#1  0x18934d in PascalToCCall \(ignoreme=2271560241, infop=0x29faa4\))
dup
stringwidth
pop
402
exch
sub
6
div
exch
0
exch
32
exch
widthshow
87.000000 453.000000 moveto
gsave
newpath
87.000000 453.000000 moveto
88.000000 453.000000 lineto
88.000000 463.000000 lineto
88.000000 464.000000 lineto
87.000000 464.000000 lineto
87.000000 454.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 453.000000 moveto
gsave
newpath
578.000000 453.000000 moveto
579.000000 453.000000 lineto
579.000000 463.000000 lineto
579.000000 464.000000 lineto
578.000000 464.000000 lineto
578.000000 454.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 463.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 464 def/wp$left 88 def/wp$right 578 def/wp$bottom 475 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 473.000000 moveto
(    at emutrap.c:94)
dup
stringwidth
pop
114
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 464.000000 moveto
gsave
newpath
87.000000 464.000000 moveto
88.000000 464.000000 lineto
88.000000 474.000000 lineto
88.000000 475.000000 lineto
87.000000 475.000000 lineto
87.000000 465.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 464.000000 moveto
gsave
newpath
578.000000 464.000000 moveto
579.000000 464.000000 lineto
579.000000 474.000000 lineto
579.000000 475.000000 lineto
578.000000 475.000000 lineto
578.000000 465.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 474.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 475 def/wp$left 88 def/wp$right 578 def/wp$bottom 486 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 484.000000 moveto
(#2  0x17d0c9 in alinehandler \(pc=3661160, ignored=0x0\))
dup
stringwidth
pop
324
exch
sub
6
div
exch
0
exch
32
exch
widthshow
87.000000 475.000000 moveto
gsave
newpath
87.000000 475.000000 moveto
88.000000 475.000000 lineto
88.000000 485.000000 lineto
88.000000 486.000000 lineto
87.000000 486.000000 lineto
87.000000 476.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 475.000000 moveto
gsave
newpath
578.000000 475.000000 moveto
579.000000 475.000000 lineto
579.000000 485.000000 lineto
579.000000 486.000000 lineto
578.000000 486.000000 lineto
578.000000 476.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 485.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 486 def/wp$left 88 def/wp$right 578 def/wp$bottom 497 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 495.000000 moveto
(    at executor.c:399)
dup
stringwidth
pop
126
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 486.000000 moveto
gsave
newpath
87.000000 486.000000 moveto
88.000000 486.000000 lineto
88.000000 496.000000 lineto
88.000000 497.000000 lineto
87.000000 497.000000 lineto
87.000000 487.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 486.000000 moveto
gsave
newpath
578.000000 486.000000 moveto
579.000000 486.000000 lineto
579.000000 496.000000 lineto
579.000000 497.000000 lineto
578.000000 497.000000 lineto
578.000000 487.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 496.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 497 def/wp$left 88 def/wp$right 578 def/wp$bottom 508 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 506.000000 moveto
(#3  0x1c1b85 in trap_direct \(trap_number=10, exception_pc=3661160,)
dup
stringwidth
pop
396
exch
sub
6
div
exch
0
exch
32
exch
widthshow
87.000000 497.000000 moveto
gsave
newpath
87.000000 497.000000 moveto
88.000000 497.000000 lineto
88.000000 507.000000 lineto
88.000000 508.000000 lineto
87.000000 508.000000 lineto
87.000000 498.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 497.000000 moveto
gsave
newpath
578.000000 497.000000 moveto
579.000000 497.000000 lineto
579.000000 507.000000 lineto
579.000000 508.000000 lineto
578.000000 508.000000 lineto
578.000000 498.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 507.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 508 def/wp$left 88 def/wp$right 578 def/wp$bottom 519 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 517.000000 moveto
(    exception_address=0\) at trap.c:201)
dup
stringwidth
pop
228
exch
sub
6
div
exch
0
exch
32
exch
widthshow
87.000000 508.000000 moveto
gsave
newpath
87.000000 508.000000 moveto
88.000000 508.000000 lineto
88.000000 518.000000 lineto
88.000000 519.000000 lineto
87.000000 519.000000 lineto
87.000000 509.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 508.000000 moveto
gsave
newpath
578.000000 508.000000 moveto
579.000000 508.000000 lineto
579.000000 518.000000 lineto
579.000000 519.000000 lineto
578.000000 519.000000 lineto
578.000000 509.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 518.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 519 def/wp$left 88 def/wp$right 578 def/wp$bottom 530 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 528.000000 moveto
(#4  0x197cfc in S68K_HANDLE_0x00B5 \(\) at syn68k.c:1038)
dup
stringwidth
pop
324
exch
sub
7
div
exch
0
exch
32
exch
widthshow
87.000000 519.000000 moveto
gsave
newpath
87.000000 519.000000 moveto
88.000000 519.000000 lineto
88.000000 529.000000 lineto
88.000000 530.000000 lineto
87.000000 530.000000 lineto
87.000000 520.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 519.000000 moveto
gsave
newpath
578.000000 519.000000 moveto
579.000000 519.000000 lineto
579.000000 529.000000 lineto
579.000000 530.000000 lineto
578.000000 530.000000 lineto
578.000000 520.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 529.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 530 def/wp$left 88 def/wp$right 578 def/wp$bottom 541 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 539.000000 moveto
(#5  0x196067 in interpret_code \(start_code=0x2df6c4\) at syn68k.c:587)
dup
stringwidth
pop
408
exch
sub
7
div
exch
0
exch
32
exch
widthshow
87.000000 530.000000 moveto
gsave
newpath
87.000000 530.000000 moveto
88.000000 530.000000 lineto
88.000000 540.000000 lineto
88.000000 541.000000 lineto
87.000000 541.000000 lineto
87.000000 531.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 530.000000 moveto
gsave
newpath
578.000000 530.000000 moveto
579.000000 530.000000 lineto
579.000000 540.000000 lineto
579.000000 541.000000 lineto
578.000000 541.000000 lineto
578.000000 531.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 540.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 541 def/wp$left 88 def/wp$right 578 def/wp$bottom 552 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 550.000000 moveto
(#6  0x12d476 in beginexecutingat \(startpc=11730018\))
dup
stringwidth
pop
306
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 541.000000 moveto
gsave
newpath
87.000000 541.000000 moveto
88.000000 541.000000 lineto
88.000000 551.000000 lineto
88.000000 552.000000 lineto
87.000000 552.000000 lineto
87.000000 542.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 541.000000 moveto
gsave
newpath
578.000000 541.000000 moveto
579.000000 541.000000 lineto
579.000000 551.000000 lineto
579.000000 552.000000 lineto
578.000000 552.000000 lineto
578.000000 542.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 551.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 552 def/wp$left 88 def/wp$right 578 def/wp$bottom 563 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 561.000000 moveto
(    at launch.c:328)
dup
stringwidth
pop
114
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 552.000000 moveto
gsave
newpath
87.000000 552.000000 moveto
88.000000 552.000000 lineto
88.000000 562.000000 lineto
88.000000 563.000000 lineto
87.000000 563.000000 lineto
87.000000 553.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 552.000000 moveto
gsave
newpath
578.000000 552.000000 moveto
579.000000 552.000000 lineto
579.000000 562.000000 lineto
579.000000 563.000000 lineto
578.000000 563.000000 lineto
578.000000 553.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 562.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 563 def/wp$left 88 def/wp$right 578 def/wp$bottom 574 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 572.000000 moveto
(#7  0x12e1ce in launchchain \(fName=0x2b53f8 "\\004Risk", vRefNum=-32717,)
dup
stringwidth
pop
426
exch
sub
7
div
exch
0
exch
32
exch
widthshow
87.000000 563.000000 moveto
gsave
newpath
87.000000 563.000000 moveto
88.000000 563.000000 lineto
88.000000 573.000000 lineto
88.000000 574.000000 lineto
87.000000 574.000000 lineto
87.000000 564.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 563.000000 moveto
gsave
newpath
578.000000 563.000000 moveto
579.000000 563.000000 lineto
579.000000 573.000000 lineto
579.000000 574.000000 lineto
578.000000 574.000000 lineto
578.000000 564.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 573.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 574 def/wp$left 88 def/wp$right 578 def/wp$bottom 585 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 583.000000 moveto
(    resetmemory=1 '\\001'\) at launch.c:575)
dup
stringwidth
pop
246
exch
sub
7
div
exch
0
exch
32
exch
widthshow
87.000000 574.000000 moveto
gsave
newpath
87.000000 574.000000 moveto
88.000000 574.000000 lineto
88.000000 584.000000 lineto
88.000000 585.000000 lineto
87.000000 585.000000 lineto
87.000000 575.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 574.000000 moveto
gsave
newpath
578.000000 574.000000 moveto
579.000000 574.000000 lineto
579.000000 584.000000 lineto
579.000000 585.000000 lineto
578.000000 585.000000 lineto
578.000000 575.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 584.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 585 def/wp$left 88 def/wp$right 578 def/wp$bottom 596 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 594.000000 moveto
(#8  0x12f6e0 in Launch \()
dup
stringwidth
pop
144
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 585.000000 moveto
gsave
newpath
87.000000 585.000000 moveto
88.000000 585.000000 lineto
88.000000 595.000000 lineto
88.000000 596.000000 lineto
87.000000 596.000000 lineto
87.000000 586.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 585.000000 moveto
gsave
newpath
578.000000 585.000000 moveto
579.000000 585.000000 lineto
579.000000 595.000000 lineto
579.000000 596.000000 lineto
578.000000 596.000000 lineto
578.000000 586.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 595.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 596 def/wp$left 88 def/wp$right 578 def/wp$bottom 607 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 605.000000 moveto
(    fName_arg=0x910 "\\004Riskutor", '\377' <repeats 27 times>, vRefNum_arg=-32717\))
dup
stringwidth
pop
474
exch
sub
10
div
exch
0
exch
32
exch
widthshow
87.000000 596.000000 moveto
gsave
newpath
87.000000 596.000000 moveto
88.000000 596.000000 lineto
88.000000 606.000000 lineto
88.000000 607.000000 lineto
87.000000 607.000000 lineto
87.000000 597.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 596.000000 moveto
gsave
newpath
578.000000 596.000000 moveto
579.000000 596.000000 lineto
579.000000 606.000000 lineto
579.000000 607.000000 lineto
578.000000 607.000000 lineto
578.000000 597.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 606.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 607 def/wp$left 88 def/wp$right 578 def/wp$bottom 618 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 616.000000 moveto
(    at launch.c:1142)
dup
stringwidth
pop
120
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 607.000000 moveto
gsave
newpath
87.000000 607.000000 moveto
88.000000 607.000000 lineto
88.000000 617.000000 lineto
88.000000 618.000000 lineto
87.000000 618.000000 lineto
87.000000 608.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 607.000000 moveto
gsave
newpath
578.000000 607.000000 moveto
579.000000 607.000000 lineto
579.000000 617.000000 lineto
579.000000 618.000000 lineto
578.000000 618.000000 lineto
578.000000 608.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 617.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 618 def/wp$left 88 def/wp$right 578 def/wp$bottom 629 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 627.000000 moveto
(#9  0x17e1f7 in executor_main \(\))
dup
stringwidth
pop
192
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 618.000000 moveto
gsave
newpath
87.000000 618.000000 moveto
88.000000 618.000000 lineto
88.000000 628.000000 lineto
88.000000 629.000000 lineto
87.000000 629.000000 lineto
87.000000 619.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 618.000000 moveto
gsave
newpath
578.000000 618.000000 moveto
579.000000 618.000000 lineto
579.000000 628.000000 lineto
579.000000 629.000000 lineto
578.000000 629.000000 lineto
578.000000 619.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 628.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 629 def/wp$left 88 def/wp$right 578 def/wp$bottom 640 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 638.000000 moveto
(    at executor.c:589)
dup
stringwidth
pop
126
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 629.000000 moveto
gsave
newpath
87.000000 629.000000 moveto
88.000000 629.000000 lineto
88.000000 639.000000 lineto
88.000000 640.000000 lineto
87.000000 640.000000 lineto
87.000000 630.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 629.000000 moveto
gsave
newpath
578.000000 629.000000 moveto
579.000000 629.000000 lineto
579.000000 639.000000 lineto
579.000000 640.000000 lineto
578.000000 640.000000 lineto
578.000000 630.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 639.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 640 def/wp$left 88 def/wp$right 578 def/wp$bottom 651 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 649.000000 moveto
(#10 0x13371a in main \(argc=2, argv=0xbffffa04\))
dup
stringwidth
pop
276
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 640.000000 moveto
gsave
newpath
87.000000 640.000000 moveto
88.000000 640.000000 lineto
88.000000 650.000000 lineto
88.000000 651.000000 lineto
87.000000 651.000000 lineto
87.000000 641.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 640.000000 moveto
gsave
newpath
578.000000 640.000000 moveto
579.000000 640.000000 lineto
579.000000 650.000000 lineto
579.000000 651.000000 lineto
578.000000 651.000000 lineto
578.000000 641.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 650.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 651 def/wp$left 88 def/wp$right 578 def/wp$bottom 662 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
90.000000 660.000000 moveto
(    at main.c:2112)
dup
stringwidth
pop
108
exch
sub
5
div
exch
0
exch
32
exch
widthshow
87.000000 651.000000 moveto
gsave
newpath
87.000000 651.000000 moveto
88.000000 651.000000 lineto
88.000000 661.000000 lineto
88.000000 662.000000 lineto
87.000000 662.000000 lineto
87.000000 652.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 651.000000 moveto
gsave
newpath
578.000000 651.000000 moveto
579.000000 651.000000 lineto
579.000000 661.000000 lineto
579.000000 662.000000 lineto
578.000000 662.000000 lineto
578.000000 652.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 661.000000 moveto
gsave
newpath
0.000000 0.000000 moveto
0.000000 1.000000 lineto
1.000000 1.000000 lineto
1.000000 0.000000 lineto
closepath
clip
clippath
1.000000 setgray
fill
grestore
gsave
/wp$gray 0.9000 def/wp$top 662 def/wp$left 88 def/wp$right 578 def/wp$bottom 676 def/wp$box {newpath wp$left wp$bottom moveto wp$left wp$top lineto wp$right wp$top lineto wp$right wp$bottom lineto closepath } defwp$gray setgray wp$box fillgrestore
267.000000 672.000000 moveto
(Palatino-Roman)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Figure 7.  GDB backtrace)
dup
stringwidth
pop
132
exch
sub
4
div
exch
0
exch
32
exch
widthshow
87.000000 676.000000 moveto
gsave
newpath
87.000000 676.000000 moveto
87.000000 676.000000 lineto
88.000000 676.000000 lineto
88.000000 677.000000 lineto
88.000000 677.000000 lineto
87.000000 677.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
87.000000 676.000000 moveto
87.000000 676.000000 lineto
88.000000 676.000000 lineto
88.000000 677.000000 lineto
88.000000 677.000000 lineto
87.000000 677.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
88.000000 676.000000 moveto
gsave
newpath
88.000000 676.000000 moveto
577.000000 676.000000 lineto
578.000000 676.000000 lineto
578.000000 677.000000 lineto
89.000000 677.000000 lineto
88.000000 677.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 676.000000 moveto
gsave
newpath
578.000000 676.000000 moveto
578.000000 676.000000 lineto
579.000000 676.000000 lineto
579.000000 677.000000 lineto
579.000000 677.000000 lineto
578.000000 677.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
gsave
newpath
578.000000 676.000000 moveto
578.000000 676.000000 lineto
579.000000 676.000000 lineto
579.000000 677.000000 lineto
579.000000 677.000000 lineto
578.000000 677.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
87.000000 662.000000 moveto
gsave
newpath
87.000000 662.000000 moveto
88.000000 662.000000 lineto
88.000000 675.000000 lineto
88.000000 676.000000 lineto
87.000000 676.000000 lineto
87.000000 663.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
578.000000 662.000000 moveto
gsave
newpath
578.000000 662.000000 moveto
579.000000 662.000000 lineto
579.000000 675.000000 lineto
579.000000 676.000000 lineto
578.000000 676.000000 lineto
578.000000 663.000000 lineto
closepath
clip
clippath
0.000000 setgray
fill
grestore
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 16 16
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
252.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
458.000000 753.000000 moveto
(16)
dup
stringwidth
pop
10
exch
sub
2
div
exch
0
exch
ashow
36.000000 81.000000 moveto
(As you might guess, this disparity of information)
dup
stringwidth
pop
218
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 93.000000 moveto
(makes it much easier for for us to track down bugs)
dup
stringwidth
pop
225
exch
sub
10
div
exch
0
exch
32
exch
widthshow
36.000000 105.000000 moveto
(in our own code then finding bizarre)
dup
stringwidth
pop
163
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 117.000000 moveto
(incompatibilities in the code that is being run)
dup
stringwidth
pop
200
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 129.000000 moveto
(under the emulator.)
dup
stringwidth
pop
89
exch
sub
2
div
exch
0
exch
32
exch
widthshow
36.000000 148.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Disassembler)
dup
stringwidth
pop
79
exch
sub
12
div
exch
0
exch
ashow
36.000000 160.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Since GDB already knows how to disassemble)
dup
stringwidth
pop
205
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 172.000000 moveto
(680x0 code it was possible to write a driver for)
dup
stringwidth
pop
206
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 184.000000 moveto
(GDB so that it can disassemble Mac programs.)
dup
stringwidth
pop
206
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 196.000000 moveto
(The driver is about 1,000 lines of C code, with)
dup
stringwidth
pop
202
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 208.000000 moveto
(another 500 lines describing the low-memory)
dup
stringwidth
pop
200
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 220.000000 moveto
(globals.  Basically the driver knows about CODE)
dup
stringwidth
pop
216
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 232.000000 moveto
(resources and how intersegment jumps work.)
dup
stringwidth
pop
203
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 244.000000 moveto
(GDB normally doesn't produce labels for jump)
dup
stringwidth
pop
207
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 256.000000 moveto
(targets or the beginning of subroutines, so the)
dup
stringwidth
pop
203
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 268.000000 moveto
(driver adds those too, to make the output that)
dup
stringwidth
pop
204
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 280.000000 moveto
(much easier to read.\023)
dup
stringwidth
pop
92
exch
sub
3
div
exch
0
exch
32
exch
widthshow
36.000000 299.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Run-time Aids)
dup
stringwidth
pop
82
exch
sub
1
div
exch
0
exch
32
exch
widthshow
36.000000 311.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Because we're using our own set of OS and)
dup
stringwidth
pop
191
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 323.000000 moveto
(Toolbox routines, we can add code that is)
dup
stringwidth
pop
184
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 335.000000 moveto
(conditionally compiled into debug versions of)
dup
stringwidth
pop
204
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 347.000000 moveto
(Executor that can provide still more information)
dup
stringwidth
pop
214
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 359.000000 moveto
(than GDB or GDB macros can.)
dup
stringwidth
pop
135
exch
sub
5
div
exch
0
exch
32
exch
widthshow
54.000000 378.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Debugtable, Debugnumber)
dup
stringwidth
pop
152
exch
sub
1
div
exch
0
exch
32
exch
widthshow
36.000000 391.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Our A-line trap handler has a table, known as)
dup
stringwidth
pop
203
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 403.000000 moveto
(debugtable, of 4096 32-bit ints that it updates each)
dup
stringwidth
pop
222
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 415.000000 moveto
(time a trap is taken.  Each time alinehandler is)
dup
stringwidth
pop
204
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 427.000000 moveto
(called, a variable known as "debugnumber" is)
dup
stringwidth
pop
203
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 439.000000 moveto
(incremented and then the value of debugnumber)
dup
stringwidth
pop
218
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 451.000000 moveto
(is stored in the slot in debugtable corresponding to)
dup
stringwidth
pop
225
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 463.000000 moveto
(the aline trap that was called.  This allows us to see)
dup
stringwidth
pop
226
exch
sub
11
div
exch
0
exch
32
exch
widthshow
36.000000 475.000000 moveto
(both what traps were recently executed and a)
dup
stringwidth
pop
202
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 487.000000 moveto
(complete list of every trap that an application)
dup
stringwidth
pop
201
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 499.000000 moveto
(makes, no matter how long the application has)
dup
stringwidth
pop
207
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 511.000000 moveto
(run.)
dup
stringwidth
pop
19
exch
sub
4
div
exch
0
exch
ashow
36.000000 535.000000 moveto
(This scheme has its drawbacks.  Traps that are)
dup
stringwidth
pop
205
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 547.000000 moveto
(dispatched via selectors are all lumped together.)
dup
stringwidth
pop
214
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 559.000000 moveto
(Traps whose addresses are taken and then are)
dup
stringwidth
pop
204
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 571.000000 moveto
(called by jumps through the address don't show)
dup
stringwidth
pop
213
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 583.000000 moveto
(up in debugtable.  Although debugtable and)
dup
stringwidth
pop
197
exch
sub
6
div
exch
0
exch
32
exch
widthshow
36.000000 595.000000 moveto
(debugnumber are perhaps the least sophisticated)
dup
stringwidth
pop
218
exch
sub
5
div
exch
0
exch
32
exch
widthshow
36.000000 607.000000 moveto
(portion of Executor, they're still quite handy, since)
dup
stringwidth
pop
223
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 619.000000 moveto
(a visual inspection of the last 100 traps made)
dup
stringwidth
pop
198
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 631.000000 moveto
(before an application died often gives a good idea)
dup
stringwidth
pop
221
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 643.000000 moveto
(of where to start looking for the source of the)
dup
stringwidth
pop
200
exch
sub
9
div
exch
0
exch
32
exch
widthshow
36.000000 655.000000 moveto
(incompatibility.)
dup
stringwidth
pop
71
exch
sub
16
div
exch
0
exch
ashow
54.000000 674.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(XX_slam)
dup
stringwidth
pop
48
exch
sub
7
div
exch
0
exch
ashow
36.000000 687.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(In the course of developing Executor, we did a)
dup
stringwidth
pop
206
exch
sub
8
div
exch
0
exch
32
exch
widthshow
36.000000 699.000000 moveto
(major rewrite of our memory manager and our)
dup
stringwidth
pop
208
exch
sub
7
div
exch
0
exch
32
exch
widthshow
36.000000 711.000000 moveto
(TextEdit replacement.  In both cases it's not)
dup
stringwidth
pop
192
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 81.000000 moveto
(enough to just implement the APIs that are)
dup
stringwidth
pop
191
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 93.000000 moveto
(defined in Inside Macintosh, we also have to)
dup
stringwidth
pop
197
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 105.000000 moveto
(duplicate the in-memory data structures so that)
dup
stringwidth
pop
211
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 117.000000 moveto
(programs which count on them will run properly.)
dup
stringwidth
pop
221
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 129.000000 moveto
(To help us verify that we weren't adding new bugs)
dup
stringwidth
pop
226
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 141.000000 moveto
(when we rewrote those subsystems we added)
dup
stringwidth
pop
204
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 153.000000 moveto
(routines that would consistency check the data)
dup
stringwidth
pop
207
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 165.000000 moveto
(structures that each of those subsystems support.)
dup
stringwidth
pop
218
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 189.000000 moveto
(Because these consistency checks are thorough but)
dup
stringwidth
pop
224
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 201.000000 moveto
(time consuming, we call them "slams", and by)
dup
stringwidth
pop
204
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 213.000000 moveto
(default they are not enabled, even in debugging)
dup
stringwidth
pop
212
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 225.000000 moveto
(versions of Executor.  When they are enabled, the)
dup
stringwidth
pop
219
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 237.000000 moveto
(data structures for each subsystem are slammed at)
dup
stringwidth
pop
224
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 249.000000 moveto
(the entry to a call that might modify one of the)
dup
stringwidth
pop
206
exch
sub
10
div
exch
0
exch
32
exch
widthshow
297.000000 261.000000 moveto
(data structures and the data structure is slammed)
dup
stringwidth
pop
219
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 273.000000 moveto
(once again on exit of the routine.  We can turn)
dup
stringwidth
pop
204
exch
sub
10
div
exch
0
exch
32
exch
widthshow
297.000000 285.000000 moveto
(them on at run-time either by using a command)
dup
stringwidth
pop
212
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 297.000000 moveto
(line option when Executor is started or by using)
dup
stringwidth
pop
213
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 309.000000 moveto
(GDB to enable the slamming.  This is something)
dup
stringwidth
pop
213
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 321.000000 moveto
(we should have done for all of Executor's)
dup
stringwidth
pop
183
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 333.000000 moveto
(subsystems from day one, since it's ever so helpful)
dup
stringwidth
pop
224
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 345.000000 moveto
(to be told that going into routine XXX, the heap)
dup
stringwidth
pop
210
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 357.000000 moveto
(was fine, but coming out the heap was corrupted.)
dup
stringwidth
pop
220
exch
sub
8
div
exch
0
exch
32
exch
widthshow
315.000000 376.000000 moveto
(Palatino-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Image Viewer)
dup
stringwidth
pop
77
exch
sub
1
div
exch
0
exch
32
exch
widthshow
297.000000 389.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Reading disassembled code is much easier than)
dup
stringwidth
pop
211
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 401.000000 moveto
(staring at hex numbers.  Similarly, being able to)
dup
stringwidth
pop
211
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 413.000000 moveto
(view a portion of memory as some sort of PixMap)
dup
stringwidth
pop
222
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 425.000000 moveto
(\(assuming that the memory really is a bit image\) is)
dup
stringwidth
pop
224
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 437.000000 moveto
(also better than staring at a bunch of hex numbers.)
dup
stringwidth
pop
224
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 449.000000 moveto
(When we build Executor for X-Windows, we also)
dup
stringwidth
pop
219
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 461.000000 moveto
(build an image server that uses UNIX interprocess)
dup
stringwidth
pop
223
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 473.000000 moveto
(communication to communicate with the process)
dup
stringwidth
pop
218
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 485.000000 moveto
(being debugged under GDB.  This allows us to)
dup
stringwidth
pop
207
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 497.000000 moveto
(monitor offscreen graphics, which can be very)
dup
stringwidth
pop
205
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 509.000000 moveto
(important when an application makes many)
dup
stringwidth
pop
196
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 521.000000 moveto
(graphics calls and eventually an abomination is)
dup
stringwidth
pop
210
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 533.000000 moveto
(drawn on the screen instead of what should have)
dup
stringwidth
pop
218
exch
sub
8
div
exch
0
exch
32
exch
widthshow
297.000000 545.000000 moveto
(been drawn.)
dup
stringwidth
pop
56
exch
sub
1
div
exch
0
exch
32
exch
widthshow
297.000000 569.000000 moveto
(Our debugging arsenal includes other, more)
dup
stringwidth
pop
196
exch
sub
5
div
exch
0
exch
32
exch
widthshow
297.000000 581.000000 moveto
(prosaic, tools.  In fact, our debugging environment)
dup
stringwidth
pop
224
exch
sub
7
div
exch
0
exch
32
exch
widthshow
297.000000 593.000000 moveto
(encourages the development of new tools, because)
dup
stringwidth
pop
224
exch
sub
6
div
exch
0
exch
32
exch
widthshow
297.000000 605.000000 moveto
(it's so easy to leverage existing tools into new tools)
dup
stringwidth
pop
225
exch
sub
9
div
exch
0
exch
32
exch
widthshow
297.000000 617.000000 moveto
(and even write new tools from scratch.)
dup
stringwidth
pop
172
exch
sub
6
div
exch
0
exch
32
exch
widthshow
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Page: 17 17
%%PageBoundingBox: 0 0 612 792
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
/__NXsheetsavetoken save def
0 rotate
0 792 translate
1 -1 scale
/pse {} def
/psb {} def
/execuserobject {
  dup UserObjects length ge
    { pop }
    { UserObjects exch get exec }
  ifelse
} def
/currentmouse { 0 0 } def
/printobject { pop pop } def
gsave
-1 -9 translate
 /__NXbasematrix matrix currentmatrix def
grestore
0 0 translate
%%EndPageSetup
% The following is a lie that is necessary because Word 5
% doesn't wrap EPS files properly and we can't tell where
% the PostScript we're printing comes from.
%%BeginDocument: IWishWeDidntHaveToDoThis
gsave
initclip
newpath
0.000000 0.000000 moveto
612.000000 0 rlineto
0 792.000000 rlineto
612.000000 neg 0 rlineto
closepath
clip
newpath
306.000000 753.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Executor Internals)
dup
stringwidth
pop
81
exch
sub
1
div
exch
0
exch
32
exch
widthshow
512.000000 753.000000 moveto
(17)
dup
stringwidth
pop
10
exch
sub
2
div
exch
0
exch
ashow
90.000000 94.000000 moveto
(Helvetica-Bold)
[
12.000000
0.000000
0.000000
-12.000000
0.000000
0.000000
]
selectfont
(Future Plans)
dup
stringwidth
pop
73
exch
sub
1
div
exch
0
exch
32
exch
widthshow
gsave
newpath
90.000000
94.000000
12.000000
(Helvetica-Bold)
findfont
dup
(FontInfo)
known {
dup
(FontMatrix)
get
3
get
2 index
mul
1 index
(FontInfo)
get
dup
(UnderlineThickness)
get
2 index
mul
setlinewidth
(UnderlinePosition)
get
mul
3 1 roll
pop
pop
sub
}
{
pop
pop
}
ifelse
moveto
73.000000 0.000000 rlineto
stroke
grestore
90.000000 106.000000 moveto
(Palatino-Roman)
[
10.000000
0.000000
0.000000
-10.000000
0.000000
0.000000
]
selectfont
(Much of VCPU, a successor to Syn68k, has already)
dup
stringwidth
pop
224
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 118.000000 moveto
(been written.  VCPU performs many)
dup
stringwidth
pop
163
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 130.000000 moveto
(optimizations that Syn68k does not, including)
dup
stringwidth
pop
204
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 142.000000 moveto
(improved register allocation, dead subregister)
dup
stringwidth
pop
205
exch
sub
4
div
exch
0
exch
32
exch
widthshow
90.000000 154.000000 moveto
(elimination, opcode "widening", and moving work)
dup
stringwidth
pop
225
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 166.000000 moveto
(outside of loops.  VCPU has a clean high-level)
dup
stringwidth
pop
204
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 178.000000 moveto
(syntax for specifying both front ends and back)
dup
stringwidth
pop
206
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 190.000000 moveto
(ends, allowing it to dynamically compile both)
dup
stringwidth
pop
203
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 202.000000 moveto
(PowerPC and m68k binaries on any architecture)
dup
stringwidth
pop
214
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 214.000000 moveto
(we decide to support.)
dup
stringwidth
pop
96
exch
sub
3
div
exch
0
exch
32
exch
widthshow
90.000000 238.000000 moveto
(Although we don't explicitly mention it, the)
dup
stringwidth
pop
194
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 250.000000 moveto
(graphic subsystem one layer above the blitter)
dup
stringwidth
pop
201
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 262.000000 moveto
(already has hooks in it to allow use of graphics)
dup
stringwidth
pop
208
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 274.000000 moveto
(accelerators, where present.  We plan a native port)
dup
stringwidth
pop
224
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 286.000000 moveto
(to Win32 and OS/2 and those ports should be able)
dup
stringwidth
pop
224
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 298.000000 moveto
(to use fancier graphic subsystems and also make)
dup
stringwidth
pop
215
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 310.000000 moveto
(use of the underlying network APIs.)
dup
stringwidth
pop
161
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 334.000000 moveto
(Currently INITs and CDEVs do not run under)
dup
stringwidth
pop
205
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 346.000000 moveto
(Executor, but the same mechanisms that allow)
dup
stringwidth
pop
206
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 358.000000 moveto
(applications to run can also allow INITs and)
dup
stringwidth
pop
196
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 370.000000 moveto
(CDEVs to run.  QuickTime and ATM will both be)
dup
stringwidth
pop
220
exch
sub
9
div
exch
0
exch
32
exch
widthshow
90.000000 382.000000 moveto
(high priorities after Executor 2 ships.)
dup
stringwidth
pop
164
exch
sub
5
div
exch
0
exch
32
exch
widthshow
90.000000 406.000000 moveto
(We will also be developing compiler tools that will)
dup
stringwidth
pop
225
exch
sub
8
div
exch
0
exch
32
exch
widthshow
90.000000 418.000000 moveto
(allow ISVs to natively compile CPU specific)
dup
stringwidth
pop
194
exch
sub
6
div
exch
0
exch
32
exch
widthshow
90.000000 430.000000 moveto
(routines to be used when their applications are)
dup
stringwidth
pop
208
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 442.000000 moveto
(run under Executor.  Executor already uses such)
dup
stringwidth
pop
214
exch
sub
7
div
exch
0
exch
32
exch
widthshow
90.000000 454.000000 moveto
(gateways internally.)
dup
stringwidth
pop
90
exch
sub
1
div
exch
0
exch
32
exch
widthshow
351.000000 81.000000 moveto
(Already, multiple simultaneous instances of)
dup
stringwidth
pop
196
exch
sub
4
div
exch
0
exch
32
exch
widthshow
351.000000 93.000000 moveto
(Executor can be run under NEXTSTEP and Linux)
dup
stringwidth
pop
219
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 105.000000 moveto
(\(and to a lesser extent under Windows '95\).)
dup
stringwidth
pop
191
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 117.000000 moveto
(Currently only Executor/NEXTSTEP handles)
dup
stringwidth
pop
202
exch
sub
3
div
exch
0
exch
32
exch
widthshow
351.000000 129.000000 moveto
(PICT pasteboard cutting and pasting from one)
dup
stringwidth
pop
206
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 141.000000 moveto
(instantiation of Executor to another, and no)
dup
stringwidth
pop
193
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 153.000000 moveto
(versions of Executor do enough file locking to)
dup
stringwidth
pop
203
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 165.000000 moveto
(allow concurrent access of the same HFS volumes)
dup
stringwidth
pop
220
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 177.000000 moveto
(at once.  This needs to be fixed, since either)
dup
stringwidth
pop
191
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 189.000000 moveto
(through shared text segments under UNIX and)
dup
stringwidth
pop
209
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 201.000000 moveto
(UNIX like operating systems or through DLLs)
dup
stringwidth
pop
205
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 213.000000 moveto
(under Microsoft operating systems, it can be made)
dup
stringwidth
pop
224
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 225.000000 moveto
(fairly efficient to run multiple instances of)
dup
stringwidth
pop
186
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 237.000000 moveto
(Executor simultaneously.  When that is done, each)
dup
stringwidth
pop
223
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 249.000000 moveto
(instance of Executor has its own address space and)
dup
stringwidth
pop
226
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 261.000000 moveto
(is automatically scheduled by the underlying)
dup
stringwidth
pop
200
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 273.000000 moveto
(operating system scheduler.  That means that)
dup
stringwidth
pop
201
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 285.000000 moveto
(Executor "inherits" memory-protection and pre)
dup
stringwidth
pop
209
exch
sub
4
div
exch
0
exch
32
exch
widthshow
(-)
dup
stringwidth
pop
4
exch
sub
1
div
exch
0
exch
ashow
351.000000 297.000000 moveto
(emptive multi-tasking from the underlying core)
dup
stringwidth
pop
212
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 309.000000 moveto
(operating system.)
dup
stringwidth
pop
79
exch
sub
1
div
exch
0
exch
32
exch
widthshow
351.000000 333.000000 moveto
(By properly exploiting this inheritance it should be)
dup
stringwidth
pop
226
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 345.000000 moveto
(possible to provide an environment that allows)
dup
stringwidth
pop
209
exch
sub
6
div
exch
0
exch
32
exch
widthshow
351.000000 357.000000 moveto
(well-behaved Mac applications to run efficiently)
dup
stringwidth
pop
214
exch
sub
5
div
exch
0
exch
32
exch
widthshow
351.000000 369.000000 moveto
(under a variety of PC operating systems with)
dup
stringwidth
pop
201
exch
sub
7
div
exch
0
exch
32
exch
widthshow
351.000000 381.000000 moveto
(automatic protection from non-well-behaved)
dup
stringwidth
pop
199
exch
sub
3
div
exch
0
exch
32
exch
widthshow
351.000000 393.000000 moveto
(applications.)
dup
stringwidth
pop
57
exch
sub
13
div
exch
0
exch
ashow
351.000000 417.000000 moveto
(One interesting variant on this theme would be to)
dup
stringwidth
pop
221
exch
sub
8
div
exch
0
exch
32
exch
widthshow
351.000000 429.000000 moveto
(use Linux as the core OS, but to hide it from the)
dup
stringwidth
pop
211
exch
sub
11
div
exch
0
exch
32
exch
widthshow
351.000000 441.000000 moveto
(end-user, for a net result of an 80x86 box that)
dup
stringwidth
pop
200
exch
sub
9
div
exch
0
exch
32
exch
widthshow
351.000000 453.000000 moveto
(boots an efficient, robust MacOS-like environment.)
dup
stringwidth
pop
225
exch
sub
5
div
exch
0
exch
32
exch
widthshow
grestore
%%EndDocument
/showpage systemdict begin { showpage } bind end def
showpage
__NXsheetsavetoken restore
%%PageTrailer
%%Trailer
%%Pages: 17
%%BoundingBox:0 0 612 792
